[英]Can I modify the printed stack trace when a Java program fails?
我使用的是IntelliJ想法,每次在編程過程中進行測試運行時我的程序崩潰,我都厭倦了從堆棧跟蹤中看到這么多行,我只想看幾行來告訴我程序在哪里失敗或對話框。 總的來說,有什么辦法可以實現我的想法或Java? 謝謝
此代碼僅打印出現在doStuff()
方法中的任何錯誤或異常的堆棧跟蹤的前5行。
public static void main(String[] args){
try{
doStuff();
}
catch(Throwable t){
StackTraceElement[] elements = t.getStackTrace();
for(int i = 0; i < 5; i++){
System.err.println(elements[i]);
}
}
}
您可以通過擴展所需的應用程序特定行為的異常來創建自定義異常。 然后,您可以覆蓋方法“ setStackTrace”,可以將從現有異常中獲取的堆棧跟蹤轉換為將發送到新Exception類的參數,可以從現有堆棧跟蹤中提取所需內容,並使用您想要的內容。
class CustomException extends Exception {
@Override
public void setStackTrace(StackTraceElement[] stackTrace) {
// Get elements I want from my stack trace
// Then I add what I want from the existing stacktrace and add some custom content
}
}
最好的祝福。
我認為您應該看一下IntelliJ的控制台折疊自定義功能 ,它只會折疊您堆棧跟蹤中“嘈雜”的部分。 如果需要,您仍然可以查看整個stacktrace(例如,當您嘗試查看誰調用了您的方法時)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.