الفرق بين المراجعتين ل"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>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">raise
 
<syntaxhighlight lang="ruby">raise
سطر 10: سطر 12:
 
==المعاملات==
 
==المعاملات==
 
===<code>string‎</code>===
 
===<code>string‎</code>===
 +
رسالة الخطأ.
  
 
===<code>exception‎</code>===
 
===<code>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>puts</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‎ في توثيق روبي الرسمي.]

مراجعة 12:53، 22 أكتوبر 2018

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

تُمسك الاستثناءات بواسطة جملة rescue من كتل begin...end.

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

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

المعاملات

string‎

رسالة الخطأ.

exception‎

استثناء.

array‎

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

أمثلة

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

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

انظر أيضا

  • التابع fail: يطلق التابع puts استثناء أو خطأ.

مصادر