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

من موسوعة حسوب
< Ruby‏ | Kernel
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>raise‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...'
 
ط تدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
في حال عدم تمريرأي وسائط، سيطلق التابع raise استثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إن كان <code>$!</code> يساوي <code>nil</code>. في حال تمرير وسيط واحد <code>String</code>، فسيطلق <code>RuntimeError</code> بحيث يكون الوسيط الممرر string الرسالة. خلا ذلك، يجب أن يكون الوسيط الأول اسما للصنف <code>Exception</code> (أو كائنًا يعيد كائن <code>Exception</code> عند تلقيه رسالة <code>exception</code>). يحدد الوسيط الاختياري الثاني رسالة الاستثناء، أما الوسيط الثالث فهو مصفوفة تضم معلومات الاستدعاء. تُضبط الاستثناءات بواسطة جملة <code>rescue</code> من كتل <code>begin...end</code>.
استدعاء التابع <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
سطر 10: سطر 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>===


 
مصفوفة تضم معلومات الاستدعاء.
==القيمة المُعادة==
 
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>raise‎</code>:
مثال على استخدام التابع <code>raise‎</code>:
سطر 23: سطر 25:
raise ArgumentError, "No parameters", caller‎</syntaxhighlight>
raise ArgumentError, "No parameters", caller‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/puts|puts]]</code>: يكافئ التابع puts التعبير:
* التابع <code>[[Ruby/Kernel/fail|fail]]</code>: يطلق استثناءً أو خطأً.
* التابع <code>[[Ruby/Kernel/rand|rand]]</code>: في حال استدعاء التابع rand بدون تمرير وسائط إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع rand عدد عشري شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، وباستثناء 1.0.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-raise قسم التابع raise‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
*[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: يطلق استثناءً أو خطأً.

مصادر