错误阻止在Sinatra应用程序中不起作用

时间:2012-09-30 23:44:14

标签: sinatra

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

这是我的sinatra应用程序:

require 'rubygems'
require 'sinatra'

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

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

我正在使用sinatra(1.3.3)

3 个答案:

答案 0 :(得分:6)

您可以添加:

set :show_exceptions, false

到您的申请文件。

在开发环境中,默认情况下启用show_exceptions

答案 1 :(得分:4)

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

ruby my_app.rb -e production

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

答案 2 :(得分:0)

确保您没有使用测试版的机架

gem list rack

如果你看到如下内容:

rack-1.6.0.beta

卸载此版本并使用先前版本rack-1.5.2