1

我正在尝试使用 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']可用的。我显然错过了一些东西(我对红宝石有点陌生)。

4

1 回答 1

2

查看body变量,您将在第一个索引中看到错误消息,因此在body[0].

于 2013-06-20T15:40:24.723 回答