2016-07-21 16 views
0

は、私は、Google Analyticsを使用してキャッチされない例外を追跡するために、次のコードを持っている:throwableから例外の原因を取り込む方法は?

問題は、私は次のようにのみ取得していますされ
ExceptionReporter myHandler = 
      new ExceptionReporter(AnalyticsTrackers.getInstance().get(AnalyticsTrackers.Target.APP), 
        Thread.getDefaultUncaughtExceptionHandler(), this); 

    ExceptionParser ep = new ExceptionParser() { 
     @Override 
     public String getDescription(String s, Throwable throwable) { 
      return "UserID:" + userID + " Version:" + versionName + " Exception:" + stringifyStacktrace(null, throwable); 
     } 
    }; 

private String stringifyStacktrace (Exception e, Throwable t){ 
    if(e != null) { 
     StringWriter sw = new StringWriter(); 
     e.printStackTrace(new PrintWriter(sw)); 
     return sw.toString(); 
    } else { 
     return t.toString() + Arrays.toString(t.getStackTrace()); 
    } 
} 

java.lang.RuntimeException: Unable to start activity ComponentInfo{in.jiyofit.basic_app/in.jiyofit.basic_app.WorkoutActivity}: java.lang.ArithmeticException: divide by zero 
                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450) 
                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510) 
                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363) 
                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                    at android.os.Looper.loop(Looper.java:148) 
                    at android.app.ActivityThread.main(ActivityThread.java:5461) 
                    at java.lang.reflect.Method.invoke(Native Method) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

私はラインを与えるスタックトレースの残りの部分をしたいです例外の原因となります。私はスタックトレースの次の部分を取得していません:

Caused by: java.lang.ArithmeticException: divide by zero 
                    at in.jiyofit.basic_app.WorkoutActivity.onCreate(WorkoutActivity.java:79) 
                    at android.app.Activity.performCreate(Activity.java:6251) 
                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 
                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403) 
                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)  
                    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)  
                    at android.os.Handler.dispatchMessage(Handler.java:102)  
                    at android.os.Looper.loop(Looper.java:148)  
                    at android.app.ActivityThread.main(ActivityThread.java:5461)  
                    at java.lang.reflect.Method.invoke(Native Method) 

これを取得する方法?

+0

Logクラスから静的メソッドgetStackTraceString()を試してみてください[getStackTraceStringを()](https://developer.android.com/reference/android/util/Log.html#getStackTraceString %28java.lang.Throwable%29)をLogクラスから削除しますか? –

+0

@ Dr.Nitpick、はい答えが私の問題を解決しました。あなたは答えとしてあなたのコメントを置くことができますか? – suku

+0

絶対に、それは助けてうれしい! –

答えて

0

あなたは、静的メソッドしようとしたことがあり

関連する問題