我有一個對象的類,如果用戶試圖爲其構造函數提供一個負數,我想輸出一個警告,告訴他們他們提供了一個無效號碼,形式爲獲取當前行號碼Java
System.out.println("ERROR ON LINE " + Thread.currentThread().getStackTrace()[2].getLineNumber() + ": You have provided an invalid number.\nSetting to default.");
編輯:我將值設置爲系統中的默認值,我不希望程序終止。
我真正想知道的是我如何自動找到[2]。
爲什麼你想告訴最終用戶一個源代碼行號? – bmargulies
@bmargulies它也在調試。我通常使用行號作爲錯誤號碼。這對我來說是實踐的東西,所以我親自跟蹤問題。 –
要進行調試,請使用(例如)log4j,並讓它爲您記錄行號。 – bmargulies