0

約 10 回の反復で結果を取得するプログラムを Java で設計しています。これらの反復の最後に、すべての結果をログ ファイルに書き込む必要があります。

例外が発生した場合は、テキスト ファイルに書き込む必要があります。次に、プログラムを停止してはならず、最後の反復が完了するまで続行する必要があります...

つまり、反復のいずれかの部分で何らかのエラーが発生した場合、プログラムはここで停止してはなりません。エラーは、エラーの名前で結果内に記載する必要があり、続行してログ ファイルを更新する必要があります。

これまでの私のコードは少し長いです... try-catch を使用し、try ブロックが計算を実行してテキスト ファイルに書き込みますが、何らかの例外が発生した場合に備えて、プログラムを停止してはならず、その例外をログで更新する必要がありますファイル。

4

3 に答える 3

1
OutputStream os = ....;
PrintStream  ps = new PrintStream(os);

while(notDone) {
    try {
        doStuff();
    }
    catch(Throwable t) {
        t.printStackTrace(ps);
    }
    ps.print(results);
}
于 2012-05-11T06:36:47.867 に答える
0

この種の質問では、サンプルコードを提供する方がよい場合があります。そうすれば、問題を特定できるのは私たちだけです。

エラーを表示する必要がある場合は、「e.printStackTrace」が役立ちます。「e」はクラス「Exception」のインスタンスです。

ただし、ログに記録する必要がある場合は、「Logger」クラスがExceptionクラスとともに役立ちます。たとえば、

try {
                    f = location.createNewFile();
                } catch (IOException ex) {
                    Logger.getLogger(TestForm.class.getName()).log(Level.SEVERE, null, ex);
                }

これらすべてを行うには、コードをtrycatchブロックで囲むことをお勧めします

于 2012-05-11T06:52:44.193 に答える