在JAVA中如何獲取當前源文件名以及代碼的行號


在最近經歷中,遇見了這樣一個問題,如何獲取當前源文件名以及代碼的行號,只是了解到C語言有預定義宏__FILE__、__LINE__,它們在預處理的時候都已經確定好了,但是在JAVA中應該怎么獲取輸出呢。

經過查找發現java提供以下方法來獲取當前文件名以及行號

Thread.currentThread().getStackTrace()[1].getFileName():獲取當前文件名;
Thread.currentThread().getStackTrace()[1].getLineNumber():獲取當前行號。

其中:Thread.currentThread().getStackTrace()返回的是一個數組形式的函數調用棧(棧頂在索引0處),其中第1個元素(索引為0)為最新調用的函數信息(getStackTrace()),第2個元素(索引為1)為當前函數(即調用getStackTrace()的函數)信息

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM