Best Practice: Catching Unhandled Exceptions

What’s the conventional wisdom on handling exceptions in the session (unhanded exception event)? From the docs it sounds like it is catching all exceptions despite not being session specific errors. So if I just kill the session and not the app could I be opening myself up to some wonky behavior?

Also does returning false allow the exception to propagate to the through to the app class unhanded exception event?