aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/utils/ExceptionHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/utils/ExceptionHandler.java')
-rw-r--r--src/main/java/de/pixart/messenger/utils/ExceptionHandler.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/utils/ExceptionHandler.java b/src/main/java/de/pixart/messenger/utils/ExceptionHandler.java
new file mode 100644
index 000000000..40648dc04
--- /dev/null
+++ b/src/main/java/de/pixart/messenger/utils/ExceptionHandler.java
@@ -0,0 +1,31 @@
+package de.pixart.messenger.utils;
+
+import android.content.Context;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.lang.Thread.UncaughtExceptionHandler;
+
+public class ExceptionHandler implements UncaughtExceptionHandler {
+
+ private UncaughtExceptionHandler defaultHandler;
+ private Context context;
+
+ public ExceptionHandler(Context context) {
+ this.context = context;
+ this.defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
+ }
+
+ @Override
+ public void uncaughtException(Thread thread, Throwable ex) {
+ Writer result = new StringWriter();
+ PrintWriter printWriter = new PrintWriter(result);
+ ex.printStackTrace(printWriter);
+ String stacktrace = result.toString();
+ printWriter.close();
+ ExceptionHelper.writeToStacktraceFile(context, stacktrace);
+ this.defaultHandler.uncaughtException(thread, ex);
+ }
+
+}