-1

私はIntelliJのアイデアを使用しています.プログラミングプロセス中にテストを実行しているときにプログラムがクラッシュするたびに、スタックトレースから非常に多くの行を見るのにうんざりしています.私のプログラムがどこにあるかを示すいくつかの行を見たいだけです.失敗したか、おそらくダイアログボックス。アイデアやJavaでこれを達成する方法はありますか? ありがとう

4

3 に答える 3

3

アプリケーションの特定の動作に必要な例外を拡張することで、カスタム例外を作成できます。次に、メソッド「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
        }
    }

よろしくお願いします。

于 2013-03-14T12:37:36.193 に答える
2

このコードは、メソッドに表示されるエラーまたは例外のスタック トレースの最初の 5 行のみを出力しますdoStuff()

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]);
        }
    }
}
于 2013-03-14T12:27:03.757 に答える
1

スタックトレースの「ノイズの多い」部分のみを折りたたむIntelliJのコンソール折りたたみカスタマイズを確認する必要があると思います。必要に応じて、スタック トレース全体を表示することもできます (たとえば、メソッドを呼び出したユーザーを確認しようとしている場合など)。

于 2013-03-14T12:43:00.450 に答える