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

من موسوعة حسوب
< Ruby‏ | Thread
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>raise‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby تصني...'
 
ط مراجعة وتدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>raise‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Thread.raise‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: 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/abort_on_exception|abort_on_exception]]</code>: يُعيد حالة الشرط المحلي (thread-local‏) "المقاطعة عند حدوث استثناء؟" (abort on exception) في [[Ruby/Thread|المهمة الفرعية]] التي استُدعي معها.
* التابع <code>[[Ruby/Thread/report_on_exception|report_on_exception]]</code>: يعيد التابع <code>report_on_exception</code> حالة "report on exception".
* التابع <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.

مصادر