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

من موسوعة حسوب
< Ruby‏ | Encoding‏ | Converter
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع <code>Encoding::Converter.last_error</code> في روبي}} يُعيد التّابع <code>last_error</code> الكائن <code>exception</c...')
 
ط
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 2: سطر 2:
 
يُعيد التّابع <code>last_error</code> الكائن <code>exception</code> عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة <code>nil</code> إن لم يحصل أي خطأ.
 
يُعيد التّابع <code>last_error</code> الكائن <code>exception</code> عند حصول خطأٍ في آخر عملية تحويل أو يعيد القيمة <code>nil</code> إن لم يحصل أي خطأ.
  
تشير القيمة "error" إلى أن الخطأين <code>Encoding::InvalidByteSequenceError</code> و<code>Encoding::UndefinedConversionError</code> نتجا من التّابع <code>[[Ruby/Encoding/Converter/convert|convert]]</code>، وأنَّ <code>invalid_byte_sequence:</code> و<code>incomplete_input: وundefined_conversion:</code> نتجوا من التّابع <code>[[Ruby/Encoding/Converter/primitive convert|primitive_convert]]</code>.
+
تشير القيمة "error" إلى أنَّ الخطأين <code>[[Ruby/Encoding/InvalidByteSequenceError|Encoding::InvalidByteSequenceError]]</code> و<code>[[Ruby/Encoding/UndefinedConversionError|Encoding::UndefinedConversionError]]</code> نتجا من التّابع <code>[[Ruby/Encoding/Converter/convert|convert]]</code>، وأنَّ <code>invalid_byte_sequence:</code> و<code>incomplete_input:</code> و <code>undefined_conversion:</code> نتجوا من التّابع <code>[[Ruby/Encoding/Converter/primitive convert|primitive_convert]]</code>.
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 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>
  
سطر 36: سطر 30:
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby Method]]
 
[[تصنيف:Ruby Method]]
 +
[[تصنيف:Ruby Encoding]]
 
[[تصنيف:Ruby Encoding::Converter]]
 
[[تصنيف:Ruby Encoding::Converter]]

المراجعة الحالية بتاريخ 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

انظر أيضًا

مصادر