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

من موسوعة حسوب
< Ruby‏ | Kernel
لا ملخص تعديل
طلا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
في حال استدعاء التابع <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>.
في حال استدعاء التابع <code>fail</code> بدون تمرير أي معامل، فسيُطلق الاستثناء في ‎<code>$!‎‎‎‎</code> أو يطلق الخطأ <code>[[Ruby/RuntimeError|RuntimeError]]</code> إذا كان ‎<code>$!‎</code> يساوي <code>nil</code>. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأ [[Ruby/RuntimeError|<code>RuntimeError</code>]] مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف <code>[[Ruby/Exception|Exception]]</code> (أو كائنًا يعيد كائنًا من النوع [[Ruby/Exception|<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>
اسم الصنف [[Ruby/Exception|<code>Exception</code>]] أو كائن يعيد كائنًا من الصنف <code>[[Ruby/Exception|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</syntaxhighlight>
raise ArgumentError, "No parameters", caller</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/exit-21|exit!‎]]</code>: ينهي العملية على الفور.  
*التابع <code>[[Ruby/Kernel/exit-21|exit!‎]]</code>: ينهي العملية على الفور.
 
*التابع [[Ruby/Kernel/raise|<code>raise</code>]]: يطلق استثناء أو خطأ.
==مصادر==
==مصادر==
*[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‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:08، 16 نوفمبر 2018

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

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

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

المعاملات

string‎

سلسلة نصية تمثل الرسالة المراد إظهارها عند الفشل.

exception‎

اسم الصنف Exception أو كائن يعيد كائنًا من الصنف Exception.

array‎

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

أمثلة

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

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

انظر أيضا

  • التابع exit!‎: ينهي العملية على الفور.
  • التابع raise: يطلق استثناء أو خطأ.

مصادر