الوحدة Errno في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

تعدُّ كائنات الاستثناءات في روبي أصنافًا فرعيةً (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, …

مصادر