如何通过适当的异常处理使您的Ruby脚本健壮

时间:2010-07-21 03:56:54

标签: ruby exception-handling

我不是在询问如何在Ruby中使用begin..rescue语句。相反,我问你怎么弄清楚什么是值得担心的。我知道一些硬核人可能会通过文档/代码来查找每一个可能的错误,并拥有能够优雅地处理所有案例的代码。但如果你没有写出“关键任务”的东西,这可能会走得太远。

那你怎么知道要注意哪些错误?我通常只运行我的代码,如果由于错误而停止,我添加一个begin..rescue语句。我确信必须有一个更好的方法。我刚刚运行了一个脚本来将数据导入数据库以获取某些文件,并在一小时后停止(许多文件,不要问),因为我不知道会发生一些错误。非常讨厌,我确信不写更强大的代码是我的错。我该怎么做?

1 个答案:

答案 0 :(得分:2)

我不确定总是可以在不首先体验异常的情况下预测异常。现在您知道数据库有时会失败,您可能会在将来为此添加更好的异常处理,但从这个意义上来说,经验是唯一真正的老师。

但是,我认为你编写自己的错误处理程序可能有点太快了。对于生产代码,显然某些情况下您希望能够轻松捕获并显示良好的错误消息(例如,数据库连接太多),但有时允许错误浮动实际上是最强大的事情脚本可以做。如果我的rubygems设置有问题导致你的宝石吐出错误,我不希望你把它们隐藏在“出错了!”之后。我宁愿看错误本身,所以我可以开始工作了。

抓住真正重要的错误,并且你可以做些什么,比如在放弃之前重试几次HTTP连接。然而,除此之外,如果你无法对错误做任何事情,那么让它浮起来就不会感到羞耻。