الفرق بين المراجعتين ل"Ruby/Thread/raise"

من موسوعة حسوب
< Ruby‏ | Thread
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>raise‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Thread.raise‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
سطر 5: سطر 5:
 
يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) هو [[Ruby/Thread|المهمة الفرعية]] التي استُدعي التابع معها.  
 
يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) هو [[Ruby/Thread|المهمة الفرعية]] التي استُدعي التابع معها.  
  
انظر صفحة <code>[[Ruby/Kernel/raise|Kernel#raise]]</code> لمزيد من المعلومات.
+
انظر صفحة التابع <code>[[Ruby/Kernel/raise|Kernel.raise]]</code> لمزيد من المعلومات.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">raise
 
<syntaxhighlight lang="ruby">raise
سطر 19: سطر 19:
 
  from prog.rb:2‎</syntaxhighlight>
 
  from prog.rb:2‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Thread/report_on_exception|report_on_exception]]</code>: يعيد التابع <code>report_on_exception</code> الحالة "report on exception".
+
* التابع <code>[[Ruby/Thread/abort_on_exception|abort_on_exception]]</code>: يُعيد حالة الشرط المحلي (thread-local‏) "المقاطعة عند حدوث استثناء؟" (abort on exception) في [[Ruby/Thread|المهمة الفرعية]] التي استُدعي معها.
 +
* التابع <code>[[Ruby/Kernel/raise|raise]]</code>: يطلق عند استدعائه بدون تمرير أي معامل إليه الاستثناء في ‎<code>$!‎‎‎‎</code> أو يطلق الخطأ<code>[[Ruby/RuntimeError|RuntimeError]]</code> إذا كان ‎<code>$!‎</code> يساوي <code>nil</code>.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Thread.html#method-i-raise قسم التابع raise‎ في الصنف Thread‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Thread.html#method-i-raise قسم التابع raise‎ في الصنف Thread‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:02، 6 ديسمبر 2018

يطلق التابع raise استثناء من مهمة فرعية معينة. لا يلزم أن يكون الُمستدعي (caller) هو المهمة الفرعية التي استُدعي التابع معها.

انظر صفحة التابع Kernel.raise لمزيد من المعلومات.

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

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

أمثلة

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

Thread.abort_on_exception = true
a = Thread.new { sleep(200) }
a.raise("Gotcha")

هذا سوف ينتج:

prog.rb:3: Gotcha (RuntimeError)
 from prog.rb:2:in `initialize'
 from prog.rb:2:in `new'
 from prog.rb:2

انظر أيضا

  • التابع abort_on_exception: يُعيد حالة الشرط المحلي (thread-local‏) "المقاطعة عند حدوث استثناء؟" (abort on exception) في المهمة الفرعية التي استُدعي معها.
  • التابع raise: يطلق عند استدعائه بدون تمرير أي معامل إليه الاستثناء في ‎$!‎‎‎‎ أو يطلق الخطأRuntimeError إذا كان ‎$!‎ يساوي nil.

مصادر