الفرق بين المراجعتين ل"Ruby/Errno"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:الوحدة <code>Errno</code> في روبي}} تعدُّ كائنات الاستثناءات في روبي أصنافًا فرعيةً (subclasses) من...')
 
ط (مراجعة وتدقيق.)
سطر 20: سطر 20:
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby]]
 
[[تصنيف:Ruby Module]]
 
[[تصنيف:Ruby Module]]
[[تصنيف:Ruby Errno]]
+
[[تصنيف:Ruby Exception]]

مراجعة 05:08، 16 أكتوبر 2018

تعدُّ كائنات الاستثناءات في روبي أصنافًا فرعيةً (subclasses) من الصنف Exception. على أي حال، تُبلِّغ أنظمة التشغيل عادةً عن الأخطاء باستخدام أعدادٍ صحيحةٍ مبسّطةٍ (plain integers). تُنشَأ الوحدة Errno ديناميكيًّا لتنظيم تفاصيل هذه الأخطاء الناتجة عن أنظمة التّشغيل وإرسالها إلى أصناف روبي، مع توليد صنف فرعي من الصنف SystemCallError خاص بكل رقم خطأٍ. عند إنشاء الصّنف الفرعي في الوحدة Errno، ستبدأ تسميته بالاسم ::Errno.

تعتمد أسماء الأصناف ::Errno تعتمد على البيئة التي تعمل فيها روبي. ففي منصة يونكس أو ويندوز هناك أصنافُ Errno مثل Errno::EACCES، و Errno::EAGAIN، و Errno::EINTR، ...إلخ.

رقم الخطأ (يكون عددًا صحيحًا) المُرسل من نظام التشغيل والموافق لخطأ معيّن يكون موجودًا كثابت للصنف (Errno::error::Errno).

Errno::EACCES::Errno   #=> 13

Errno::EAGAIN::Errno   #=> 11

Errno::EINTR::Errno    #=> 4

القائمة الكاملة لأخطاء نظام التشغيل على منصتك تكون موجودة على شكل ثوابت للصنف Errno.

Errno.constants   #=> :E2BIG, :EACCES, :EADDRINUSE, :EADDRNOTAVAIL, …

مصادر