0

私はこのコードを使用しています:

Logger.getLogger( SampleAction.class.getName() ).log( Level.SEVERE, null, ex );

ロガーに例外を記録するため。

例外をログに記録するとともに、UI に例外を表示しています。

この例外を表示しないようにするにはどうすればよいですか?

4

2 に答える 2

0

このような別のクラスを作成するのはどうですか。

public class Log{
    FileConnection fc;
    OutputStream outStream;
    InputStream inStream;

      Log(String exceptionClass, String errorMessage){
           try{
              fc = (FileConnection)Connector.open("[path]");
              if(!fc.exists())            fc.create();

              inStream = fc.openInputStream();
              outStream = fc.openOutputStream();

               if(inStream!=null)             
                       outStream.write(IOUtilities.streamToBytes(instream)); //use this so overwriting is enabled

               outStream.write((exceptionClass+"\n").getBytes());
               outStream.write((errorMessage+"\n").getBytes()); 
           }
           catch(IOException e){}
           finally{
                  try{
                       inStream.close();
                       outStream.close();
                       fc.close();
                   }catch(Exception e){}
            }
      }

}

次に、try ブロックをキャッチするたびに Log クラスを呼び出します。

例えば

try{
      //your process
}catch(Exception e){
       //call log
       new Log(e.getClassName(), e.getMessage());
}

各ログの日付と時刻を書き込むと、変更できます。

于 2012-12-20T06:17:12.183 に答える
0

次の 2 つのことが起こっています。

  1. ロガーが例外をログに記録しています
  2. 例外は、別のコードによってダイアログ ボックスに表示されるまで、捕捉されず、伝達されません。ダイアログ ボックスを表示したくない場合は、表示される前に例外を処理する必要があります。

ロギングを含むメソッド全体を貼り付けてください。

于 2012-12-21T23:43:13.690 に答える