为了将异常对象赋值给一个变量,可以配合rescue指令使用特殊的操作符 =>
异常对象如其他对象一样可以响应消息,尤其有用的是backrace和message方法。backtrace 可以返回一个字符串数组,用于表示异常触发时的调用栈:它包括方法名称、文件名和代码行数,并展示了异常发生时代码执行的整个线路图。只要信息存在,只要信息存在,message方法就可以返回在raise提供的信息。
begin
fussy_methed(20)
rescue ArgumentError =>e
puts "that was not an accepttable"
puts "here 's the backrace for this exception"
puts e.backtrace
putts "and here the exception object message"
puts e.massge
end
什么被引发:一个异常还是异常类
在编程的角度上,异常出发的是类:使用 raise ZeroDividionError 而不是raise ZeroDivsionError.new
.但实际上是异常类的实例被引发了。