Ruby 从包含的中间件捕获异常

Ruby 从包含的中间件捕获异常,ruby,sinatra,rack,middleware,Ruby,Sinatra,Rack,Middleware,我有一个Sinatra应用程序,我正在使用rack_csrf gem来保护我的表单,如果csrf令牌无效,并且我希望捕获它以用于日志记录,则此gem会引发异常。是否有方法捕获此异常或从主Sinatra应用程序获取返回的状态代码 我的代码是这样的: classmyapp

我有一个Sinatra应用程序,我正在使用rack_csrf gem来保护我的表单,如果csrf令牌无效,并且我希望捕获它以用于日志记录,则此gem会引发异常。是否有方法捕获此异常或从主Sinatra应用程序获取返回的状态代码

我的代码是这样的:

classmyapp
这就是我想要捕捉的:

谢谢你的帮助

您可能需要从应用程序中捕获该异常并进行日志记录。如下所示:

def call(env)
  @app.call(env)
rescue InvalidCsrfToken => e
  #log error here, then return a status code
end