我正在开发一个 rake 系统,并且我有一些新代码需要进行一些一致性检查。我希望代码不会在第一个错误时退出;我希望它继续完成对其余数据的检查。如果它确实遇到一致性错误,它可能会引发异常。我正在尝试使用一个简单的构造来捕获 RuntimeError:
begin
<code which may throw RuntimeError...>
rescue RuntimeError => e
<print info about exception ...>
end
这似乎执行了救援块;打印救援的错误信息。问题是 rake 仍然中止,即使已经捕获并处理了异常。rake 中是否有一些设置将 abort_on_exception 设置为 true?有什么办法改变这个吗?我不希望它在此异常中中止,我只想打印错误,并继续进行其余检查。如果完整的一致性检查报告错误,它将退出更高级别。也许我需要抛出 RuntimeError 以外的东西?我只是将 raise 与字符串参数一起使用。