class Babeltrace2::BTError
Public Instance Methods
causes()
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 316 def causes get_cause_count.times.collect { |i| ref = Babeltrace2.bt_error_borrow_cause_by_index(@handle, i) Cause.new(ref) } end
exception_params()
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 343 def exception_params() klass = nil message = nil backtrace = [] cs = causes return [klass, message, backtrace] if cs.empty? c = cs.first mess = c.message m = mess.match(/ ::(.*?): (.*)/m) if m klass = m[1] message = m[2] mess.sub!( m[0], "" ) end item = "" item << c.file_name << ":" item << c.line_number.to_s item << (mess.match(/:in /) ? mess : Babeltrace2.verbose? ? " :: " << mess : ".") backtrace.push(item) cs[1..-1].each { |c| item = "" item << c.file_name << ":" item << c.line_number.to_s mess = c.message item << (mess.match(/:in /) ? mess : Babeltrace2.verbose? ? " :: " << mess : ".") backtrace.push(item) } [klass, message, backtrace] end
get_cause_by_index(indx)
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 310 def get_cause_by_index(indx) return nil unless indx < get_cause_count ref = Babeltrace2.bt_error_borrow_cause_by_index(@handle, indx) Cause.new(ref) end
get_cause_count()
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 304 def get_cause_count raise Error.new("Error already released") unless @handle Babeltrace2.bt_error_get_cause_count(@handle) end
Also aliased as: cause_count
release()
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 323 def release raise Error.new("Error already released") unless @handle Babeltrace2.bt_error_release(@handle) @handle = nil end
to_s()
click to toggle source
# File lib/babeltrace2/error-reporting.rb, line 329 def to_s str = "" causes.each { |c| file_name = c.file_name line_number = c.line_number str << file_name << ":" if file_name str << line_number.to_s << ":" if line_number str << " " str << c.message str << "\n" } str end