الفرق بين المراجعتين لصفحة: «Ruby/Errno»

من موسوعة حسوب
طلا ملخص تعديل
طلا ملخص تعديل
 
سطر 18: سطر 18:
[[تصنيف:Ruby]]
[[تصنيف:Ruby]]
[[تصنيف:Ruby Module]]
[[تصنيف:Ruby Module]]
[[تصنيف:Ruby Exception]]
[[تصنيف:Ruby Error]]

المراجعة الحالية بتاريخ 13:01، 21 نوفمبر 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, …

مصادر