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

من موسوعة حسوب
< Ruby‏ | Kernel
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>fail‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Kernel]]
 
[[تصنيف: Ruby Kernel]]
في حال استدعاء التابع بدون إعطاء أي وسائط، فسبُطلق الاستثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إذا كان <code>$!</code> يساوي <code>nil</code>. في حال تمرير وسيط واحد <code>String</code>، فسيطلق <code>RuntimeError</code> مع سلسلة نصية كرسالة. حلا ذلك، يجب أن يكون الوسيط الأول هو اسم صنف <code>Exception</code> (أو كائنًا يعيد كائن من النوع <code>Exception</code> عند إرسال رسالة <code>exception</code>). يحدد الوسيط الاختياري الثانية الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُضبط الاستثناءات بواسطة الجملة <code>rescue</code> من كتل <code>begin...end</code>.
+
في حال استدعاء التابع <code>fail</code> بدون إعطاء أي وسائط، فسبُطلق الاستثناء في <code>$!‎‎‎‎</code> أو يطلق الخطأ <code>RuntimeError</code> إذا كان <code>$!</code> يساوي <code>nil</code>. في حال تمرير وسيط واحد <code>String</code>، فسيطلق الخطأ <code>RuntimeError</code> مع السلسلة النصية <code>String</code> كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم صنف <code>Exception</code> (أو كائنًا يعيد كائنًا من النوع <code>Exception</code> عند إرسال رسالة <code>exception</code>). يحدد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُمسك الاستثناءات بواسطة الجملة <code>rescue</code> من الكتل <code>begin...end</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">fail
 
<syntaxhighlight lang="ruby">fail
سطر 10: سطر 10:
 
==المعاملات==
 
==المعاملات==
 
===<code>string‎</code>===
 
===<code>string‎</code>===
 +
سلسلة نصية تمثل رسالة الاستثناء.
  
 
===<code>exception‎</code>===
 
===<code>exception‎</code>===
 +
اسم صنف <code>Exception</code>
  
 
===<code>array‎</code>===
 
===<code>array‎</code>===
  
 
+
مصفوفة تضم معلومات الاستدعاء
==القيمة المُعادة==
 
 
 
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>fail‎</code>:
 
مثال على استخدام التابع <code>fail‎</code>:
 
<syntaxhighlight lang="ruby">raise "Failed to create socket"
 
<syntaxhighlight lang="ruby">raise "Failed to create socket"
raise ArgumentError, "No parameters", caller
+
raise ArgumentError, "No parameters", caller</syntaxhighlight>
</syntaxhighlight>
 
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/exit-21|exit!]]</code>: ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers). تعاد الحالة إلى النظام الأساسي باعتبارها حالة الخروج (exit status).
+
* التابع <code>[[Ruby/Kernel/exit-21|exit!]]</code>: ينهي العملية على الفور.  
* التابع <code>[[Ruby/Kernel/fork|fork]]</code>: ينشئ التابع عملية فرعية (subprocess). في حال إعطاء كتلة، فستُنفّذ تلك الكتلة في العملية الفرعية، كما أن قيمة الحالة عند الانتهاء ستساوي صفر. وإلا ، فإن استدعاء التابع <code>fork</code> سيقوم بالإعادة مرتين، مرة في العملية الأم (parent, process)، حيث يعيد معرف العملية الفرعية، ومرة في العملية الفرعية، حيث يعيد nil. يمكن للعملية الفرعية الخروج باستخدام <code>Kernel.exit!</code> لتجنب تشغيل دوال <code>at_exit</code>. يجب أن تستخدم العملية الأم <code>Process.wait</code> لجمع حالات إنهاء عملياتها الفرعية، أو تستخدم <code>Process.detach</code> لتسجيل إهمال تلك الحالات؛ خلاف ذلك، قد يُراكم نظام التشغيل عمليات الزومبي (zombie processes).
 
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-fail قسم  التابع fail‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-fail قسم  التابع fail‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

مراجعة 20:52، 21 أكتوبر 2018

في حال استدعاء التابع fail بدون إعطاء أي وسائط، فسبُطلق الاستثناء في ‎$!‎‎‎‎ أو يطلق الخطأ RuntimeError إذا كان ‎$!‎ يساوي nil. في حال تمرير وسيط واحد String، فسيطلق الخطأ RuntimeError مع السلسلة النصية String كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم صنف Exception (أو كائنًا يعيد كائنًا من النوع Exception عند إرسال رسالة exception). يحدد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُمسك الاستثناءات بواسطة الجملة rescue من الكتل begin...end.

البنية العامة

fail
fail(string)
fail(exception [, string [, array]])

المعاملات

string‎

سلسلة نصية تمثل رسالة الاستثناء.

exception‎

اسم صنف Exception

array‎

مصفوفة تضم معلومات الاستدعاء

أمثلة

مثال على استخدام التابع fail‎:

raise "Failed to create socket"
raise ArgumentError, "No parameters", caller

انظر أيضا

  • التابع exit!‎: ينهي العملية على الفور.

مصادر