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

من موسوعة حسوب
< Ruby‏ | Thread
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>raise‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby تصني...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Thread]]
[[تصنيف: Ruby Thread]]
يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) من <code>thr</code>. انظر صفحة <code>[[Ruby/Kernel/raise|Kernel#raise]]</code> لمزيد من المعلومات.
يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) هو [[Ruby/Thread|المهمة الفرعية]] التي استُدعي التابع معها.  


 
انظر صفحة <code>[[Ruby/Kernel/raise|Kernel#raise]]</code> لمزيد من المعلومات.
 
هذا سوف ينتج:
 
<syntaxhighlight lang="ruby">prog.rb:3: Gotcha (RuntimeError)
from prog.rb:2:in `initialize'
from prog.rb:2:in `new'
from prog.rb:2‎</syntaxhighlight>
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">raise
<syntaxhighlight lang="ruby">raise
raise(string)
raise(string)
raise(exception [, string [, array]])‎</syntaxhighlight>
raise(exception [, string [, array]])‎</syntaxhighlight>
==المعاملات==
===<code>string‎</code>===
سلسلة نصية.
===<code>exception‎</code>===
===<code>array‎</code>===
==القيمة المُعادة==
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>raise‎</code>:
مثال على استخدام التابع <code>raise‎</code>:
<syntaxhighlight lang="ruby">Thread.abort_on_exception = true
<syntaxhighlight lang="ruby">Thread.abort_on_exception = true
a = Thread.new { sleep(200) }
a = Thread.new { sleep(200) }
a.raise("Gotcha")‎</syntaxhighlight>
a.raise("Gotcha")‎</syntaxhighlight>هذا سوف ينتج:<syntaxhighlight lang="ruby">prog.rb:3: Gotcha (RuntimeError)
from prog.rb:2:in `initialize'
from prog.rb:2:in `new'
from prog.rb:2‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Thread/priority-3D|priority=]]</code>: يعين التابع <code>priority=</code> أولوية <code>thr</code> عند القيمة <code>integer</code> (انظر فقرة البنية العامة). سيتم تشغيل [[Ruby/Thread|المهمة الفرعية]] ذات الأولوية العالية بشكل متكرر أكثر من مثيلاتها ذات الأولوية المنخفضة (ولكنها ستعمل).
* التابع <code>[[Ruby/Thread/report_on_exception|report_on_exception]]</code>: يعيد التابع <code>report_on_exception</code> الحالة "report on exception".
* التابع <code>[[Ruby/Thread/report_on_exception|report_on_exception]]</code>: يعيد التابع <code>report_on_exception</code> حالة "report on exception".
==مصادر==
==مصادر==
*[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‎ في توثيق روبي الرسمي.]

مراجعة 11:48، 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‎

انظر أيضا

  • التابع report_on_exception: يعيد التابع report_on_exception الحالة "report on exception".

مصادر