在Sinatra的配置块中处理错误的惯用方法是什么?
例如,如果某个应用无法连接到配置中的数据库,我想传达错误(halt
)或显示一些特定的错误页面(redirect
)...但是这些方法在configure
块中不可用。
configure do
begin
db = Sequel.connect ENV['HEROKU_POSTGRESQL_URL']
db.test_connection
rescue
# Neither of these are available at `configure` block level
halt 503, "Unavailable to connect to DB."
redirect ("/custom-error-page")
end
end
答案 0 :(得分:0)
configure
块在服务器启动时运行,因此任何面向客户端的操作(例如halt
或redirect
都没有意义,因为在该代码运行时实际上没有用户。 / p>
我只是让错误冒出来,因此当发生这样的事情时拒绝启动服务器,因为很可能在配置失败时你的应用程序会被固有地破坏。