1

これは以前に尋ねられたに違いないと確信していますが、投稿を検索できませんでした。

ネイティブ Java ライブラリを使用するスレッドによって生成された実行時エラーをキャプチャしたいのですが、どのメソッドを使用すれば同じことができますか?

エラーの例を次に示します。

Exception in thread "main" java.io.FileNotFoundException: C:\Documents and Settings\All Users\Application Data\CR2\Bwac\Database\BWC_EJournal.mdb (The system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at CopyEJ.CopyEJ.main(CopyEJ.java:91)

このエラーをファイルに記録して後で確認したい

4

4 に答える 4

4

例外をキャッチするだけです!私の推測では、現在、mainメソッドは throw と宣言されてExceptionおり、何もキャッチしていないため、例外は から伝播しているだけですmain。例外をキャッチするだけです:

try {
    // Do some operations which might throw an exception
} catch (FileNotFoundException e) {
    // Handle the exception however you want, e.g. logging.
    // You may want to rethrow the exception afterwards...
}

例外の詳細については、Java チュートリアルの例外の部分を参照してください。

ネイティブ コードで例外が発生したという事実は、ここでは関係ありません。完全に正常な方法で伝播されます。

于 2013-07-03T06:39:57.783 に答える
1

でエラーをキャッチできますtry block

try {
    // some i/o function
    reader = new BufferedReader(new FileReader(file));

} catch (FileNotFoundException e) {
    // catch the error , you can log these
    e.printStackTrace();

} catch (IOException e) {
    // catch the error , you can log these
   e.printStackTrace();
}

Java チュートリアル - レッスン: 例外

于 2013-07-03T06:41:50.483 に答える