2013-08-20 71 views
0

我正在創建應用程序,並且在此應用程序中我需要將所有異常寫入文件。我需要得到錯誤的行號,我用它來獲取行號:Java異常Stacktrace

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

但我怕,那堆棧跟蹤可以爲空。所以我的問題是 - 可以堆棧跟蹤爲空?

+0

爲什麼你想寫的只是行號而不是完整的堆棧跟蹤? – ajduke

+0

@ user2086174-只需使用e.getStackTrace – FarhaSameer786

回答

0

如果異常被拋出,

e.getStackTrace() 

不能爲空。

但是,爲什麼你不使用std Java Logger或android記錄器來記錄輸出?

+0

記錄器的特權是什麼? – user2086174

+0

java.util.logging使您不會在應用程序中出現過多的問題,因此您不必考慮Logger輸出的格式化。 幾何性取決於配置的類型,因此很容易保持tracelog的清潔。一般來說,在每個類的頂部,你應該有 private static final Logger log = Logger.getLogger(ClassName.class.getName()); 然後,您可以使用Logger類的各種設施。 – JavaDM