throwsとthrow | Java SE 17 Programmer I
throwsとthrowとは
throwsとthrowとは、Javaにおいて例外を発生させたり(送出)、例外が発生する可能性を外部に告知(委譲)したりするための2つの異なるキーワードです。
throw 文(単数形)は、メソッド内部で意図的に新しい例外オブジェクトを発生させて処理を中断・送出するための「命令文」です(例: throw new IllegalArgumentException();)。
一方 throws 節(複数形)は、メソッドのシグネチャ(定義行)の末尾に記述し、「このメソッドを実行すると、指定した検査例外が発生して呼び出し元へ丸投げ(委譲)される可能性がある」ことを呼び出し側に警告・宣言するための「キーワード」です(例: void test() throws IOException)。
具体例