我想显示我的应用程序中发生的异常的详细信息,例如异常的行号。这可能吗?
答案 0 :(得分: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);
}
答案 1 :(得分:2)
你检查了吗?
exception.printStackTrace()
答案 2 :(得分:2)
exception.printStackTrace()
显示已生成异常的行号和方法名称。
答案 3 :(得分:0)
使用try catch block作为
try{
// here add your code
}catch(Exception e){
Log.e("error",e.toString());
}
答案 4 :(得分:0)
您可以尝试以下方法:
public static String getStackTrace(Throwable throwable) {
StringWriter sw = new StringWriter();
try (PrintWriter pw = new PrintWriter(sw)) {
throwable.printStackTrace(pw);
return sw.toString();
}
}
答案 5 :(得分:-2)
检查 -
exception.getMessage()