Java异常堆栈跟踪

Java异常堆栈跟踪,java,android,Java,Android,我正在创建应用程序,在此应用程序中,我需要将所有异常写入文件。我需要得到错误的行号,我正在使用它来获得行号: entry.setStackTrace(e.getStackTrace()[0].getLineNumber()); 但我担心,stacktrace可能是空的。所以我的问题是-堆栈跟踪可以为空吗 如果引发了异常,则 e.getStackTrace() 不能为空 但是为什么不使用std Java Logger或android Logger来记录输出?为什么要写正确的行号而不是完整的堆栈

我正在创建应用程序,在此应用程序中,我需要将所有异常写入文件。我需要得到错误的行号,我正在使用它来获得行号:

entry.setStackTrace(e.getStackTrace()[0].getLineNumber());

但我担心,stacktrace可能是空的。所以我的问题是-堆栈跟踪可以为空吗

如果引发了异常,则

e.getStackTrace()
不能为空


但是为什么不使用std Java Logger或android Logger来记录输出?

为什么要写正确的行号而不是完整的堆栈跟踪?@user2086174只需使用e.getStackTrace Logger的特权是什么?Java.util.Logging可以避免应用程序中有太多的JAR,并且不必考虑记录器输出的格式化。。可分割性取决于配置的类型,因此很容易保持tracelog干净。通常,在每个类的顶部,都应该有私有的静态最终记录器log=Logger.getLogger(ClassName.class.getName());然后,您可以使用Logger类的各种工具。