Let's demonstrate some exception handling:

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)