# File lib/sinatra/async.rb, line 164 def async_handle_exception yield rescue ::Exception => boom if settings.show_exceptions? printer = Sinatra::ShowExceptions.new(proc{ raise boom }) s, h, b = printer.call(request.env) response.status = s response.headers.replace(h) response.body = b body(response.body) else body(handle_exception!(boom)) end end