1

また、どういうthrows NumberFormatException, IOException意味ですか?BufferedReaderと言って使い続けています

BufferedReader nerd = new BufferedReader(new InputStreamReader(System.in));

入れないと機能しBufferedReaderませんthrows NumberFormatException, IOException

4

3 に答える 3

5

このthrowsキーワードは、特定のメソッドが特定の例外を「スロー」する可能性があることを示します。ブロックを使用するか、メソッド宣言に追加することにより、可能なIOException(およびおそらく他の例外)を処理する必要があります。このようなもの: try-catchthrows IOException, (...)

public void foo() throws IOException /* , AnotherException, ... */ {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    in.readLine();
    // etc.
    in.close();
}


public void foo() {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    try {
        in.readLine();
        // etc.
        in.close();
    } catch (IOException e) {
        // handle the exception 
    } /* catch (AnotherException e1) {...} ... */
}
于 2012-09-21T03:00:10.910 に答える
4

Throws 句は、特定のメソッドによって処理されない例外を宣言するために使用され、これらを明示的に処理するか、呼び出し階層で再スローするかを呼び出し元に指示します。

于 2012-09-21T02:59:30.563 に答える
1

throws ステートメントは、関数がエラーを「スロー」する可能性があることを意味します。つまり、現在のメソッドを終了するエラーを吐き出し、スタック上の次の「try catch」ブロックでそれを処理させます。

この場合、メソッド宣言に 'throws....' を追加するか、次のようにすることができます。

try {
    // code here
} catch (Exception ex) {
    // what to do on error here
}

詳細については、 http://docs.oracle.com/javase/tutorial/essential/exceptions/を参照してください。

于 2012-09-21T03:01:20.300 に答える