الفرق بين المراجعتين ل"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".

مصادر