25日目②(2025.02.24) throw throws



今回も初めて目にするやつです!!
「throw」と「throws」

菅原先生、お願いします!!


throw 例外オブジェクト
→ 例外を強制的に発生させる
throws 例外クラス
→ メソッドがその例外を発生することを宣言

throw = 発生させる
throws = 宣言する

といった感じで使う場面が違うようです。

【パターン①】

void write(){
try{

 ・
 ・
 throw new IOException();

 ・
 ・
}catch(IOException e){

 ・
 ・
}
}

throw new IOException();

「IOException」は、
IOException e = new IOException();
throw = e;
の省略

(使う場面)
例えば、ifの中でファイルが見つからない場合とかで例外を強制的に発生させたりする。

【パターン②】

void write() throws IOException()

 ・
 ・
throw new IOException();

 ・
 ・
}


本来は、try-catchを書かないとダメだけど、メソッド定義にthrowsIOExceptionと書くことで
コンパイルが通る

★例外クラスを複数発生させる可能性がある場合は、throwsの後に例外クラスをカンマ区切りで複数
指定できる。

★throwsキーワードは、自分で書くよりも目にする機会が多いとのこと。(元々提供されているクラスを使う)

ということで、菅原先生に倣ってコーディング!!




import~
これ書くの忘れそう、、、

このthrow / throwsは、正直、どういう場面で使うのかがまだイメージできてませんが、
今後、やっている内に分かるものと考えて次にいきます!!

ではでは、引き続き楽しんでいこう!!!

コメントを残す