> For the complete documentation index, see [llms.txt](https://notes.tejpratapsingh.com/android-tips/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.tejpratapsingh.com/android-tips/catch-any-exception-in-android.md).

# Catch any exception in Android

Here is how you can intercept any exception in android and log it to your external logging system, for better user experience.

```java
final Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler = 
        Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread t, Throwable e) {
        // TODO, implement your logging here
        // ...
        
        // Now re-throw exception so JVM can behave as expected (i.e. crash your app)
        defaultUncaughtExceptionHandler.uncaughtException(t, e);
    }
});
```
