0

我正在开发一个 rake 系统,并且我有一些新代码需要进行一些一致性检查。我希望代码不会在第一个错误时退出;我希望它继续完成对其余数据的检查。如果它确实遇到一致性错误,它可能会引发异常。我正在尝试使用一个简单的构造来捕获 RuntimeError:

 begin
      <code which may throw RuntimeError...>
 rescue RuntimeError => e
      <print info about exception ...>
 end

这似乎执行了救援块;打印救援的错误信息。问题是 rake 仍然中止,即使已经捕获并处理了异常。rake 中是否有一些设置将 abort_on_exception 设置为 true?有什么办法改变这个吗?我不希望它在此异常中中止,我只想打印错误,并继续进行其余检查。如果完整的一致性检查报告错误,它将退出更高级别。也许我需要抛出 RuntimeError 以外的东西?我只是将 raise 与字符串参数一起使用。

4

1 回答 1

0

你能试试 Exception insted of RuntimeError 异常吗

begin
  <code which may throw RuntimeError...>
rescue Exception => e
  p e.message
  p e.backtrace
end
于 2013-07-03T06:11:05.257 回答