Javaにおいて、throwとthrowsの違いは何ですか。
throwとthrowsは、Javaで例外を処理する際のキーワードです。
- throwキーワードは例外オブジェクトを投げるために使用されます。通常、メソッドの中で手動で例外を投げるために使用されます。throw文が実行されると、プログラムは直ちに停止し、例外オブジェクトがその呼び出し元に投げられて処理されます。
例:
public void divide(int num1, int num2) {
if (num2 == 0) {
throw new ArithmeticException("除数不能为0");
}
int result = num1 / num2;
System.out.println("结果为:" + result);
}
- throwsキーワードは、メソッドが発生する可能性のある例外を宣言するために使用されます。通常、これはメソッド宣言の最後に置かれ、呼び出し元にそのメソッドが発生する可能性のある例外の型を伝えるために使われます。メソッドがthrowsキーワードを使用して宣言されている場合、そのメソッドを呼び出す箇所では対応する例外処理が必要であり、さもなければコンパイルエラーが発生します。
例:例を挙げて説明します。
public void readFile() throws IOException {
// 读取文件的代码
}
まとめ:
- throwキーワードは、例外オブジェクトを手動で投げるために使用されます。
- throwsキーワードは、メソッドで発生する可能性のある例外の種類を宣言するために使用されます。