我正在尝试使用 Sinatra 很好地处理错误。例如,假设我有一个这样的块:
get '/auth/' do
...
begin
access_token_obj = OAuth2::AccessToken.new(client, token)
rescue OAuth2::Error => e
return 403, e.description
rescue
return 403, "Something went wrong"
end
...
end
我想向用户显示一个漂亮的错误页面。Sinatra 文档建议我可以执行以下操作:
error 403 do
"Access forbidden"
end
但是我如何获取错误消息(“出现问题”或e.description
)以显示给用户?在我的error 403 do
街区没有env['sinatra.error']
可用的。我显然错过了一些东西(我对红宝石有点陌生)。