从堆栈跟踪输出

时间:2018-09-10 09:33:16

标签: java android exception-handling

我正在尝试获取完整的异常日志“就像我们在android studio中一样” 从我们在App类中拥有的错误对象 更具体地说,这是我的App.java

import android.app.Application;
import android.content.Context;
import android.support.multidex.MultiDex;

/**
 * Created by informatic on 17/03/2018.
 */

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

 Thread.setDefaultUncaughtExceptionHandler((t, e) -> {
            e.printStackTrace();
            StringBuilder massage=new StringBuilder();
     for (int i = 0; i < e.getStackTrace().length; i++) {
         massage.append(e.getStackTrace()[i].toString());
     }
     String s=massage.toString();
     System.out.print(s);
        });
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

在NullPointerException之后,这是字符串s在异常之后将包含的内容

  

android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)android.app.ActivityThread.access $ 1100(ActivityThread.java:151)android.app。 ActivityThread $ H.handleMessage(ActivityThread.java:1362)android.os.Handler.dispatchMessage(Handler.java:110)android.os.Looper.loop(Looper.java:193)android.app.ActivityThread.main(ActivityThread。 java:5551)java.lang.reflect.Method.invokeNative(本机方法)java.lang.reflect.Method.invoke(Method.java:515)com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java :914)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:730)dalvik.system.NativeStart.main(本机方法)

但是另一方面,logcat将打印此内容

  

com.automata4.www.sanad E / Android运行时:致命异常:主要       流程:com.automata4.www.sanad,PID:31429       java.lang.RuntimeException:无法启动活动ComponentInfo {com.automata4.www.sanad / com.automata4.www.sanad.frontend.activities.home.HomeActivity}:java.lang.NullPointerException           在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)           在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)           在android.app.ActivityThread.access $ 1100(ActivityThread.java:151)           在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1362)           在android.os.Handler.dispatchMessage(Handler.java:110)           在android.os.Looper.loop(Looper.java:193)           在android.app.ActivityThread.main(ActivityThread.java:5551)           在java.lang.reflect.Method.invokeNative(本机方法)           在java.lang.reflect.Method.invoke(Method.java:515)           在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:914)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:730)           在dalvik.system.NativeStart.main(本机方法)        造成原因:java.lang.NullPointerException           在com.automata4.www.sanad.frontend.activities.home.HomeActivity.getAndSetUi(HomeActivity.java:48)           在com.automata4.www.sanad.frontend.activities.home.HomeActivity.onCreate(HomeActivity.java:42)           在android.app.Activity.performCreate(Activity.java:5310)           在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)           在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2381)           在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2469)           在android.app.ActivityThread.access $ 1100(ActivityThread.java:151)           在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1362)           在android.os.Handler.dispatchMessage(Handler.java:110)           在android.os.Looper.loop(Looper.java:193)           在android.app.ActivityThread.main(ActivityThread.java:5551)           在java.lang.reflect.Method.invokeNative(本机方法)           在java.lang.reflect.Method.invoke(Method.java:515)           在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:914)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:730)           在dalvik.system.NativeStart.main(本机方法)

所以我的问题是 有什么方法可以像e对象的先前输出那样,以便我可以将此完整的异常发送到我的服务器?

0 个答案:

没有答案