> For the complete documentation index, see [llms.txt](https://notes.tejpratapsingh.com/_/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

Implement custom exception logger (lust like CrashAnalytics)

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);
    }
});
```
