我想显示我的应用程序中发生的异常的详细信息,例如异常的行号。这可能吗?
问问题
6525 次
6 回答
7
是的。在下面的示例中,stackTraceElement 中有很多关于您的异常的信息。
自定义此方法:
private static String getExceptionDetails(Activity act, Exception e) {
StackTraceElement[] stackTraceElement = e.getStackTrace();
String fileName = "";
String methodName = "";
int lineNumber = 0;
try {
String packageName = act.getApplicationInfo().packageName;
for (int i = 0; i < stackTraceElement.length; i++) {
if (stackTraceElement[i].getClassName().startsWith(packageName))
{
fileName = stackTraceElement[i].getFileName();
methodName = stackTraceElement[i].getMethodName();
lineNumber = stackTraceElement[i].getLineNumber();
break;
}
}
} catch (Exception e2) {
}
return fileName + ":" + methodName + "():line "
+ String.valueOf(lineNumber);
}
于 2012-06-13T05:08:54.397 回答
2
你检查过了吗?
exception.printStackTrace()
于 2012-06-13T05:08:28.210 回答
2
exception.printStackTrace()
显示产生异常的行号和方法名称。
于 2012-06-13T05:10:51.640 回答
0
使用 try catch 块作为
try{
// here add your code
}catch(Exception e){
Log.e("error",e.toString());
}
于 2012-06-13T05:23:35.643 回答
0
你可以试试这个:
public static String getStackTrace(Throwable throwable) {
StringWriter sw = new StringWriter();
try (PrintWriter pw = new PrintWriter(sw)) {
throwable.printStackTrace(pw);
return sw.toString();
}
}
于 2020-04-02T13:10:27.667 回答
-3
查看 -
exception.getMessage()
于 2012-06-13T05:10:43.373 回答