我正在創建應用程序,並且在此應用程序中我需要將所有異常寫入文件。我需要得到錯誤的行號,我用它來獲取行號:Java異常Stacktrace
entry.setStackTrace(e.getStackTrace()[0].getLineNumber());
但我怕,那堆棧跟蹤可以爲空。所以我的問題是 - 可以堆棧跟蹤爲空?
我正在創建應用程序,並且在此應用程序中我需要將所有異常寫入文件。我需要得到錯誤的行號,我用它來獲取行號:Java異常Stacktrace
entry.setStackTrace(e.getStackTrace()[0].getLineNumber());
但我怕,那堆棧跟蹤可以爲空。所以我的問題是 - 可以堆棧跟蹤爲空?
如果異常被拋出,
e.getStackTrace()
不能爲空。
但是,爲什麼你不使用std Java Logger或android記錄器來記錄輸出?
記錄器的特權是什麼? – user2086174
java.util.logging使您不會在應用程序中出現過多的問題,因此您不必考慮Logger輸出的格式化。 幾何性取決於配置的類型,因此很容易保持tracelog的清潔。一般來說,在每個類的頂部,你應該有 private static final Logger log = Logger.getLogger(ClassName.class.getName()); 然後,您可以使用Logger類的各種設施。 – JavaDM
爲什麼你想寫的只是行號而不是完整的堆棧跟蹤? – ajduke
@ user2086174-只需使用e.getStackTrace – FarhaSameer786