الفرق بين المراجعتين لصفحة: «Ruby/Kernel/raise»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق. |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
استدعاء التابع <code>raise</code> بدون تمرير أي معامل يُطلق الاستثناء في <code>$!</code> أو يطلق الخطأ <code>[[Ruby/RuntimeError|RuntimeError]]</code> إذا كان <code>$!</code> يساوي <code>nil</code>. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأ<nowiki/>[[Ruby/RuntimeError|<code>RuntimeError</code>]] مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف <code>[[Ruby/Exception|Exception]]</code> (أو كائنًا يعيد كائنًا من النوع <nowiki/>[[Ruby/Exception|<code>Exception</code>]] عند إرسال رسالة استثناء). يحدِّد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. | |||
تُلتقَط الاستثناءات بواسطة الجملة <code>rescue</code> من الكتل <code>begin...end</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">raise | <syntaxhighlight lang="ruby">raise | ||
سطر 12: | سطر 12: | ||
==المعاملات== | ==المعاملات== | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية تمثل الرسالة المراد إظهارها عند إطلاق الاستثناء. | |||
===<code>exception</code>=== | ===<code>exception</code>=== | ||
اسم الصنف <nowiki/>[[Ruby/Exception|<code>Exception</code>]] أو كائن يعيد كائنًا من الصنف <code>[[Ruby/Exception|Exception]]</code>. | |||
===<code>array</code>=== | ===<code>array</code>=== | ||
سطر 25: | سطر 25: | ||
raise ArgumentError, "No parameters", caller</syntaxhighlight> | raise ArgumentError, "No parameters", caller</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/fail|fail]]</code>: يطلق | * التابع <code>[[Ruby/Kernel/fail|fail]]</code>: يطلق استثناءً أو خطأً. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-raise قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-raise قسم التابع raise في الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:07، 16 نوفمبر 2018
استدعاء التابع raise
بدون تمرير أي معامل يُطلق الاستثناء في $!
أو يطلق الخطأ RuntimeError
إذا كان $!
يساوي nil
. في حال تمرير سلسلة نصية فقط، فسيُطلَق الخطأRuntimeError
مع إظهار هذه السلسلة النصية كرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسم الصنف Exception
(أو كائنًا يعيد كائنًا من النوع Exception
عند إرسال رسالة استثناء). يحدِّد الوسيط الاختياري الثاني الرسالة المرتبطة بالاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء.
تُلتقَط الاستثناءات بواسطة الجملة rescue
من الكتل begin...end
.
البنية العامة
raise
raise(string)
raise(exception [, string [, array]])
المعاملات
string
سلسلة نصية تمثل الرسالة المراد إظهارها عند إطلاق الاستثناء.
exception
اسم الصنف Exception
أو كائن يعيد كائنًا من الصنف Exception
.
array
مصفوفة تضم معلومات الاستدعاء.
أمثلة
مثال على استخدام التابع raise
:
raise "Failed to create socket"
raise ArgumentError, "No parameters", caller
انظر أيضا
- التابع
fail
: يطلق استثناءً أو خطأً.