前回はtryとcatchを使用した例外処理について見てきた。
tryとcatchについては以下参照。
【Javaプログラミング】Exception 例外処理とは?try…catchの使い方についても-プロショvol.66
だが例外処理はtryとcatchだけではなく、throwも存在する。
今回はthrowについてまとめた。
throwはいつ使う?
「throw」を使用することで、「例外」を意図的に発生させることができる。
意図的に発生させるというのは、もしもユーザーが欲しい値でないときに「例外」を発生させてメッセージを表示させることができる。
tryとcatchはプログラムを実行したときに例外が発生するとcatch内のプログラムが処理される。
すなわち、プログラム側が「問題があるよ」と教えてくれている。
throwはプログラマーが意図的に例外を起こしている。
プログラマーが、数値などがある条件を満たした際にメッセージを表示させたいというときに使用される。
throwは例外型と呼ばれるものと一緒に使用される。
例外型は様々あるが、「ArithmeticException」「FileNotFoundException」「ArrayIndexOutOfBoundsException」「SecurityException」といったものがある。
ただ、一度に複数の例外を表示することは出来ない。
throwを使用したコード
throwを使用した構文は以下の通り。
実際に使用して作ってみたコードが以下。
今回は「ArithmeticException」という例外を使用した。
これは計算において例外が起こったときに{}内のプログラムが表示されるというもの。
public class testReigai {
void Sample(int score) {
if(score < 40) {
throw new ArithmeticException(“点数が40以下なら先に進めない”);
}
else {
System.out.println(“十分な点数があるから問題なし”);
}
}
public static void main(String[] args) {
testReigai test = new testReigai();
test.Sample(35);
}
}
at JavaTakusanRenshu/Renshu.testReigai.Sample(testReigai.java:7)
at JavaTakusanRenshu/Renshu.testReigai.main(testReigai.java:20)
scoreが40以下の場合に例外を発生させるというもの。
test.Sample(35);の「35」は40以外だから例外が発生して上のような実行結果が表示される。
実行結果の中には例外が発生したときに表示させるようにした「点数が40以下なら先に進めない」がある。
「throw new ArithmeticException」の部分がもしも「System.out.println」だったら、実行結果は以下のようになる。
もしも文字をこのまま表示させたかったら問題ない。
だが、40以下の数字だとプログラムを実行してほしくないときなどに意図的に例外を起こすことで、修正すべきプログラムの場所がわかったりする。
最後に
throwのほかにもう一つthrowsというものがある。
throwsについて一緒にまとめようと思ったけれど、自分が理解できるコードが作れないからまた後日に・・・。
コメント