I was very worried about the same problem for a long time and just realized a magic spell to return the default error handling. It turns out that this has nothing to do with Passenger, but instead uses Sinatra :: Base instead of the classic (top-level) application. If you subclass Sinatra :: Base, many parameters have different default values. In this case, you must change the parameter:
set :show_exceptions, true if development?
If you also want to re-enable the (related) ability to use the error handler in the application, use:
set :raise_errors, false
That allows the error do ... end block to work as in a classic application.
For more information about the differences between the classic and Sinatra :: Base applications, see this lighthouse ticket and there is some discussion of this specific difference in the google group .
Emily source share