التابع fail
الخاص بالصنف Kernel
في روبي
في حال استدعاء التابع بدون إعطاء أي وسائط، فسبُطلق الاستثناء في $!
أو يطلق RuntimeError
إذا كان $!
يساوي nil
. في حال تمرير وسيط واحد String
، فسيطلق RuntimeError
مع سلسلة نصية كرسالة. حلا ذلك، يجب أن يكون الوسيط الأول هو اسم صنف Exception
(أو كائنًا يعيد كائن من النوع Exception
عند إرسال رسالة exception
). يحدد الوسيط الاختياري الثانية الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُضبط الاستثناءات بواسطة الجملة rescue
من كتل begin...end
.
البنية العامة
fail
fail(string)
fail(exception [, string [, array]])
المعاملات
string
exception
array
القيمة المُعادة
أمثلة
مثال على استخدام التابع fail
:
raise "Failed to create socket"
raise ArgumentError, "No parameters", caller
انظر أيضا
- التابع
exit!
: ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers). تعاد الحالة إلى النظام الأساسي باعتبارها حالة الخروج (exit status). - التابع
fork
: ينشئ التابع عملية فرعية (subprocess). في حال إعطاء كتلة، فستُنفّذ تلك الكتلة في العملية الفرعية، كما أن قيمة الحالة عند الانتهاء ستساوي صفر. وإلا ، فإن استدعاء التابعfork
سيقوم بالإعادة مرتين، مرة في العملية الأم (parent, process)، حيث يعيد معرف العملية الفرعية، ومرة في العملية الفرعية، حيث يعيد nil. يمكن للعملية الفرعية الخروج باستخدامKernel.exit!
لتجنب تشغيل دوالat_exit
. يجب أن تستخدم العملية الأمProcess.wait
لجمع حالات إنهاء عملياتها الفرعية، أو تستخدمProcess.detach
لتسجيل إهمال تلك الحالات؛ خلاف ذلك، قد يُراكم نظام التشغيل عمليات الزومبي (zombie processes).