التابع Exception.backtrace في روبي

من موسوعة حسوب
مراجعة 19:05، 18 أكتوبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التّابع backtrace أيَّ تتبع عكسي (backtrace) مرتبط بالاستثناء.

التتبع العكسي (backtrace) هو مصفوفةٌ من السّلاسل النصية، تحوي كل واحدةٍ منها إمّا "filename:lineNo: in 'method'‎'' أو ".filename:lineNo''.

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

backtrace  array

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

تُعاد مصفوفة تمثل التتبع العكسي.

أمثلة

مثالٌ عن استخدام التابع backtrace:

def a
  raise "boom"
end

def b
  a()
end

begin
  b()
rescue => detail
  print detail.backtrace.join("\n")
end

سيعطي هذا المثال عند تنفيذه الناتج التالي:

prog.rb:2:in `a'
prog.rb:6:in `b'
prog.rb:10

انظر أيضا

  • التابع backtrace_locations: يُعيد أي تتبع عكسي (backtrace) مرتبط بالاستثناء.
  • التابع set_backtrace: يضبط معلومات المصفوفة backtrace الخاصة بكائن الاستثناء.
  • التابع exception: يُعيد المُستقبل (receiver).

مصادر