الفرق بين المراجعتين لصفحة: «Ruby/Thread/abort on exception-3D»

من موسوعة حسوب
< Ruby‏ | Thread
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>abort_on_exception=‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Thread]]
[[تصنيف: Ruby Thread]]
عند إعطائه القيمة <code>true</code>، إذا تم إيقاف أي [[Ruby/Thread|مهمة فرعية]] بواسطة استثناء، فسيطلق ذلك الاستثناء مجددا في [[Ruby/Thread|المهمة الفرعية]] الرئيسية. يُعيد الحالة الجديدة.
عند إعطائه القيمة <code>true</code>، إذا تم إيقاف هذه [[Ruby/Thread|المهمة الفرعية]] بواسطة استثناء، فسيطلق ذلك الاستثناء مجددا في [[Ruby/Thread|المهمة الفرعية]] الرئيسية. ويُعيد الحالة الجديدة.


انظر أيضا صفحة <code>[[Ruby/Thread/abort_on_exception|abort_on_exception]]</code>.


 
يوجد أيضًا تابع نسخة (instance method) لتعيين هذا الخيار ل[[Ruby/Thread|مهمة فرعية]] معينة، راجع الصفحة <code>[[Ruby/Thread/abort on exception-3D-i|abort_on_exception=]]</code>.  
هذا سوف ينتج:
 
<syntaxhighlight lang="ruby">In new thread
prog.rb:4: Exception from thread (RuntimeError)
from prog.rb:2:in `initialize'
from prog.rb:2:in `new'
from prog.rb:2‎</syntaxhighlight>
 
انظر أيضا صفحة <code>[[Ruby/Thread/abort_on_exception|::abort_on_exception]]</code>.
 
يوجد أيضًا تابع نسخة (instance method) لتعيين هذا الخيار ل[[Ruby/Thread|مهمة فرعية]] معينة، راجع <code>[[Ruby/Thread/abort_on_exception-3D|abort_on_exception=]]</code>. هذا التابع مكرر أضفه الآن
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">abort_on_exception= boolean→ true or false‎</syntaxhighlight>
<syntaxhighlight lang="ruby">abort_on_exception= boolean→ true or false‎</syntaxhighlight>
==القيمة المُعادة==
==القيمة المُعادة==
تعاد قيمة منطقية.
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>abort_on_exception=‎</code>:
مثال على استخدام التعبير <code>abort_on_exception=‎</code>:
<syntaxhighlight lang="ruby">Thread.abort_on_exception = true
<syntaxhighlight lang="ruby">Thread.abort_on_exception = true
t1 = Thread.new do
t1 = Thread.new do
سطر 29: سطر 21:
end
end
sleep(1)
sleep(1)
puts "not reached"‎</syntaxhighlight>
puts "not reached"‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">In new thread
prog.rb:4: Exception from thread (RuntimeError)
from prog.rb:2:in `initialize'
from prog.rb:2:in `new'
from prog.rb:2‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Thread/abort_on_exception|abort_on_exception]]</code>: يُعيد التابع <code>abort_on_exception</code> حالة الشرط "abort on exception".
* التابع <code>[[Ruby/Thread/abort_on_exception|abort_on_exception]]</code>: يُعيد التابع <code>abort_on_exception</code> حالة الشرط "abort on exception".
* التابع <code>[[Ruby/Thread/add_trace_func|add_trace_func]]</code>: يضيف التابع <code>add_trace_func</code> الوسيط المعطى <code>proc</code> (انظر فقرة البنية العامة) كمعالج للتعقب (tracing).
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Thread.html#method-i-abort_on_exception-3D قسم  التابع abort_on_exception=‎ في الصنف Thread‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Thread.html#method-i-abort_on_exception-3D قسم  التابع abort_on_exception=‎ في الصنف Thread‎ في توثيق روبي الرسمي.]

مراجعة 20:36، 5 نوفمبر 2018

عند إعطائه القيمة true، إذا تم إيقاف هذه المهمة الفرعية بواسطة استثناء، فسيطلق ذلك الاستثناء مجددا في المهمة الفرعية الرئيسية. ويُعيد الحالة الجديدة.

انظر أيضا صفحة abort_on_exception.

يوجد أيضًا تابع نسخة (instance method) لتعيين هذا الخيار لمهمة فرعية معينة، راجع الصفحة abort_on_exception=‎.

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

abort_on_exception= boolean true or false

القيمة المُعادة

تعاد قيمة منطقية.

أمثلة

مثال على استخدام التعبير abort_on_exception=‎:

Thread.abort_on_exception = true
t1 = Thread.new do
  puts  "In new thread"
  raise "Exception from thread"
end
sleep(1)
puts "not reached"

الناتج:

In new thread
prog.rb:4: Exception from thread (RuntimeError)
 from prog.rb:2:in `initialize'
 from prog.rb:2:in `new'
 from prog.rb:2‎

انظر أيضا

  • التابع abort_on_exception: يُعيد التابع abort_on_exception حالة الشرط "abort on exception".

مصادر