example 1 (exception handled in the application level)
example 2 (exception handled in the handler level)
example 3 (exception handled in the handler level, using the same exception handler used by the application)
example 4 (an URL that doesn't exist -- handled in the application level)