التابع Encoding::Converter.last_error في روبي

من موسوعة حسوب

يُعيد التّابع last_error الكائن exception عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة nil إن لم يحصل أي خطأ.

تشير القيمة "error" إلى أنَّ الخطأين Encoding::InvalidByteSequenceError وEncoding::UndefinedConversionError نتجا من التّابع convert، وأنَّ invalid_byte_sequence: وincomplete_input: و undefined_conversion: نتجوا من التّابع primitive_convert.

البنية العامة

last_error  exception or nil

القيم المعادة

يُعاد الكائن exception عند حصول خطأٍ في آخر عملية تحويل، أو تعاد القيمة nil إذا جرى التحويل الأخير من دون أخطاءٍ.

أمثلة

مثالٌ عن استخدام التابع last_error:

ec = Encoding::Converter.new("utf-8", "iso-8859-1")

p ec.primitive_convert(src="\xf1abcd", dst="")       #=> :invalid_byte_sequence

p ec.last_error      #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a" on UTF-8>

p ec.primitive_convert(src, dst, nil, 1)             #=> :destination_buffer_full

p ec.last_error      #=> nil

انظر أيضًا

مصادر