Tapestry has sophisticated exception reporting for when things go wrong in development. Exception reporting is very smart, using reflection to work backwards through the chain of exceptions, displaying JavaBeans properties of each exception and a stack trace of the deepest exception.

In addition, a wealth of detail about the servlet, application, request, servlet context and JVM is displayed. The goal is to save developers debugging time by producing a complete report when exceptions do occur.

The look and feel of the exception reporting page can be customized by applications.

Click this link for a demonstration. The specification of the target page has deliberate errors.