ove*_*one 52 ruby ruby-on-rails exception
只是一个简单的问题.我在文档中找不到它.
如果我使用标准begin ... rescue,如何将所有错误或堆栈跟踪打印到救援中?
例如:
begin
do x
rescue
puts errors
end
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Pet*_*own 79
我知道至少有两种方法可以解决错误.第一个是使用全局变量:$!始终设置为发生的最后一个错误.第二个是在救援时明确捕获错误:
begin
# do something that fails...
rescue => error
# error and $! are equivalent here
end
Run Code Online (Sandbox Code Playgroud)
任何一个都可以使用以下任一方法检查或打印回溯:
$!.backtrace # => array of backtrace steps
error.backtrace # => same error
Run Code Online (Sandbox Code Playgroud)