I think we should be throwing exceptions rather than silently handling errors, otherwise we might get some unexpected behaviour. Slim has the ability to handle exceptions a lot more easily using a custom error handler : http://docs.slimframework.com/#Error-Handler