الفرق بين المراجعتين ل"Ruby/Encoding/Converter/last error"

من موسوعة حسوب
< Ruby‏ | Encoding‏ | Converter
اذهب إلى التنقل اذهب إلى البحث
ط
ط
 
سطر 15: سطر 15:
 
مثالٌ عن استخدام التابع <code>last_error</code>:<syntaxhighlight lang="ruby">
 
مثالٌ عن استخدام التابع <code>last_error</code>:<syntaxhighlight lang="ruby">
 
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
 
ec = Encoding::Converter.new("utf-8", "iso-8859-1")
 
+
p ec.primitive_convert(src="\xf1abcd", dst="")       #=> :invalid_byte_sequence
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      #=> #<Encoding::InvalidByteSequenceError: "\xF1" followed by "a" on UTF-8>
+
p ec.last_error     #=> nil
 
 
p ec.primitive_convert(src, dst, nil, 1)             #=> :destination_buffer_full
 
 
 
p ec.last_error      #=> nil
 
 
 
 
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  

المراجعة الحالية بتاريخ 10:42، 18 أكتوبر 2018

يُعيد التّابع 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

انظر أيضًا

مصادر