Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TopExceptionHandler implements Thread.UncaughtExceptionHandler {
- private Thread.UncaughtExceptionHandler defaultUEH;
- private Activity app = null;
- public TopExceptionHandler(Activity app) {
- this.defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
- this.app = app;
- }
- public void uncaughtException(Thread t, Throwable e) {
- StackTraceElement[] arr = e.getStackTrace();
- String report = e.toString()+"nn";
- report += "--------- Stack trace ---------nn";
- for (int i=0; i<arr.length; i++) {
- report += " "+arr[i].toString()+"n";
- }
- report += "-------------------------------nn";
- // If the exception was thrown in a background thread inside
- // AsyncTask, then the actual exception can be found with getCause
- report += "--------- Cause ---------nn";
- Throwable cause = e.getCause();
- if(cause != null) {
- report += cause.toString() + "nn";
- arr = cause.getStackTrace();
- for (int i=0; i<arr.length; i++) {
- report += " "+arr[i].toString()+"n";
- }
- }
- report += "-------------------------------nn";
- try {
- FileOutputStream trace = app.openFileOutput("stack.trace",
- Context.MODE_PRIVATE);
- trace.write(report.getBytes());
- trace.close();
- } catch(IOException ioe) {
- // ...
- }
- defaultUEH.uncaughtException(t, e);
- }
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Thread.setDefaultUncaughtExceptionHandler(new TopExceptionHandler(this));
- ...
- try {
- BufferedReader reader = new BufferedReader(
- new InputStreamReader(ReaderScopeActivity.this.openFileInput("stack.trace")));
- while((line = reader.readLine()) != null) {
- trace += line+"n";
- }
- } catch(FileNotFoundException fnfe) {
- // ...
- } catch(IOException ioe) {
- // ...
- }
- Intent sendIntent = new Intent(Intent.ACTION_SEND);
- String subject = "Error report";
- String body = "Mail this to appdeveloper@gmail.com: " + "n" + trace + "n";
- sendIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"readerscope@altcanvas.com"});
- sendIntent.putExtra(Intent.EXTRA_TEXT, body);
- sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
- sendIntent.setType("message/rfc822");
- ReaderScopeActivity.this.startActivity(Intent.createChooser(sendIntent, "Title:"));
- ReaderScopeActivity.this.deleteFile("stack.trace");
- @ReportsCrashes(formKey = "", mailTo = "abc@gmail.com;def@yahoo.com", mode = ReportingInteractionMode.SILENT)
- adb logcat AndroidRuntime:E *:S
- 09-04 21:35:15.228: ERROR/AndroidRuntime(778): Uncaught handler: thread main exiting due to uncaught exception
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dazlious.android.helloworld/com.dazlious.android.helloworld.main}: java.lang.ArrayIndexOutOfBoundsException
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread.access$1800(ActivityThread.java:112)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.os.Handler.dispatchMessage(Handler.java:99)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.os.Looper.loop(Looper.java:123)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread.main(ActivityThread.java:3948)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at java.lang.reflect.Method.invokeNative(Native Method)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at java.lang.reflect.Method.invoke(Method.java:521)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at dalvik.system.NativeStart.main(Native Method)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): Caused by: java.lang.ArrayIndexOutOfBoundsException
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at com.example.android.helloworld.main.onCreate(main.java:13)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): ... 11 more
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): Caused by: java.lang.ArrayIndexOutOfBoundsException
- 09-04 21:35:15.397: ERROR/AndroidRuntime(778): at com.example.android.helloworld.main.onCreate(main.java:13)
- compile 'com.balsikandar.android:crashreporter:1.0.1'
- CrashRepoter.logException(Exception e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement