الفرق بين المراجعتين لصفحة: «Ruby/Thread/raise»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>raise</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby تصني...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>raise | <noinclude>{{DISPLAYTITLE: التابع <code>Thread.raise</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Thread]] | [[تصنيف: Ruby Thread]] | ||
يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) | يطلق التابع <code>raise</code> استثناء من [[Ruby/Thread|مهمة فرعية]] معينة. لا يلزم أن يكون الُمستدعي (caller) هو [[Ruby/Thread|المهمة الفرعية]] التي استُدعي التابع معها. | ||
انظر صفحة التابع <code>[[Ruby/Kernel/raise|Kernel.raise]]</code> لمزيد من المعلومات. | |||
< | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">raise | <syntaxhighlight lang="ruby">raise | ||
raise(string) | raise(string) | ||
raise(exception [, string [, array]])</syntaxhighlight> | raise(exception [, string [, array]])</syntaxhighlight> | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <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/ | * التابع <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 قسم | *[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
.