【发布时间】:2020-09-29 00:23:01
【问题描述】:
我希望能够将整个错误日志保存到 java 中的字符串。例如,如果我有这条线
int a = 0/0
然后这会在调试器中给出以下错误消息:
Exception in thread "main" java.lang.ArithmeticException: / by zero
at HelloWorld.main(HelloWorld.java:8)
我想要的是能够将上述错误消息完全放在一个字符串中。我已经尝试在 try/catch 块中包含我想要的错误字符串(对于这个例子,除以零)的代码,如下所示,但这只会给我java.lang.ArithmeticException: / by zero 部分。
这是我的 try/catch 块:
try{
int a = 0/0;
}catch(Exception e){
String a = getFullErrorString(e);
}
我的方法是:
public static String getFullErrorString(Throwable error){
return(
error.getCause() == null ? String.valueOf(error) : (error + "\n" + getFullErrorString(error.getCause()))
);
}
我需要这样做,因为我的应用程序不能同时使用调试器和外部设备(外部设备使用 USB-C 端口,因此我无法在插入它的情况下进行调试,而蓝牙不是一个选项,因为我的应用程序大量使用蓝牙)。请帮忙!
【问题讨论】:
-
对于远程错误调试,您可以使用 Firebase CrashLytics
-
将文本写入文件有用吗?
-
@NormR 我确实将它写入日志文件,但我没有在我的问题中提到这一点,因为一旦我将它作为字符串写入文件是微不足道的
标签: java android error-handling runtime-error