Ruby Open-URI库在404 HTTP错误代码中中止

Ser*_*hin 7 ruby open-uri net-http

我使用OpenURI库.

object = open("http://example.com")
Run Code Online (Sandbox Code Playgroud)

如果http://example.com服务器代码响应等于200,我的程序就像我预期的那样.但是,如果http://example.com服务器响应代码等于400(或其他),则脚本将以OpenURI :: HTTPError中止:404 Not Found.
如果我使用'begin-rescue'构造并处理'HTTPError exception',我可以避免这种情况.
这是正确的方法吗?我应该使用Net/Http库而不是OpenURI来处理所有情况吗?

Gre*_*own 6

拯救OpenURI::HTTPError是完全合理的.请参阅此相关答案:https://stackoverflow.com/a/7495389/289274

但是如果您不想处理异常处理,可以使用以下方法执行此操作Net::HTTP:https: //stackoverflow.com/a/2797443/289274