الفرق بين المراجعتين لصفحة: «Ruby/Encoding/Converter/last error»
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
طلا ملخص تعديل |
||
سطر 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="") | 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 | p ec.last_error #=> nil | ||
p ec.primitive_convert(src, dst, nil, 1) | |||
p ec.last_error | |||
</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
انظر أيضًا
- التّابع
new
: يُنشئ كائنًا جديدًا من الصنفEncoding::Converter
. - التّابع
destination_encoding
: يُعيد التّرميز الوجهة على شكل كائنٍ من الصنفEncoding
. - التّابع
source_encoding
: يُعيد الترميز المصدر على شكل كائن من الصنفEncoding
.