التابع Thread.raise‎ في روبي

من موسوعة حسوب
< Ruby‏ | 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.

مصادر