5

我有以下 Sinatra 应用程序,我正在测试该error块,但它似乎没有工作。

这是我的 sinatra 应用程序:

require 'rubygems'
require 'sinatra'

error do
  puts "----> Failed"
  $stdout.print "----> Failed"
end

get "/*" do
  raise "Error!!"
end

我正在使用 sinatra (1.3.3)

4

3 回答 3

6

你可以加:

set :show_exceptions, false

到您的应用程序文件。

在开发环境show_exceptions中默认启用。

于 2012-10-01T06:51:34.927 回答
4

Sinatra 在设置为 mode 时使用自己的错误处理程序development,这是默认设置。要显示您的错误,您必须以production如下模式运行您的应用程序:

ruby my_app.rb -e production

这是特定文档的链接以供进一步参考: Sinatra README #Environments

于 2012-10-01T03:17:22.637 回答
0

确保您没有使用测试版 rack

gem list rack

如果您看到类似以下内容:

rack-1.6.0.beta

卸载这个版本,使用之前的版本 rack-1.5.2

于 2014-10-10T03:03:02.053 回答