我正在使用android库,我正在跟踪我的应用程序中的崩溃。
我有一个测试应用程序,我将它抛出异常,然后我将此异常传递给我的库。我需要做的是获取此异常的stacktrace。
以下是我调用该函数的方法。
catch (NullPointerException ex)
{
CrashReporter.ReportCrash(ex);
}
我得到异常细节的函数,我还需要堆栈跟踪。
public static void ReportCrash(Object exceptionObject)
{
String exceptionType = exceptionObject.getClass().getName();
Log.d("Exception Type", exceptionType);
Log.d("Device Name", android.os.Build.MODEL);
Log.d("Device Brand", android.os.Build.BRAND);
Log.d("Android API Level", String.valueOf(android.os.Build.VERSION.SDK_INT));
Log.d("Android Name", CommonTasks.convertApiLevelToAndroidName(android.os.Build.VERSION.SDK_INT));
Log.d("Screen Resolution", CritiMon.appContext.getResources().getDisplayMetrics().widthPixels + " x " + CritiMon.appContext.getResources().getDisplayMetrics().heightPixels);
Log.d("Exception", exceptionObject.toString());
}
答案 0 :(得分:1)
for (StackTraceElement element : exceptionObject.getStackTrace()) {
Log.d("Exception", element.toString());
}
要么将exceptionObject
更改为Exception
,要么将其投放到getStackTrace()
。