我正在尝试捕获异常,当找不到某个ID时,但该应用程序仍会停止并显示以下消息: ActiveResource :: ResourceNotFound
代码如下:
begin
ShopifyAPI::ScriptTag.find(x.scriptid)
rescue => e
if e.message == '404 Not Found'
# handle 404 error
else
raise e
end
end
我做错了吗?
答案 0 :(得分:1)
一种更好的做法是抢救您想要的异常,而不是StandardError
rescue ActiveResource::ResourceNotFound => e
# handle 404 error
end
我不能立即说出您的示例为何无效的原因,但我想消息不完全是404 Not Found
在这种情况下,您可以使用正则表达式e.message.match?(/404 Not Found/)
,但我更喜欢上面的方法