Handling exceptions at the AppDomain level is good as a last resort for catching unhandled exceptions. However it doesn't replace in-line handling. When you use a generic handler you lose the context of where the exception occurs. You have the call stack, but you can't respond and handle the exception allowing the app to move on unless you handle it inline.