例外とは|Javaから楽しく学ぶ!ゲームプログラミング専門学校

Javaから楽しく学ぶ!ゲームプログラミング専門学校

ゲームプログラミングとはその名のとおりゲームのプログラムを作ることを指します。『Javaから楽しく学ぶ!ゲームプログラミング専門学校』ではゲームプログラミングについて、実際にゲームプログラムをJAVAプログラミング言語を使用し、作成していきながら詳しく解説していきます。

例外とは

プログラムの実行中に、プログラマが想定していなかったエラーを引き起こし、プログラムが途中で強制終了されてしまうようなことがあります。

例えば、下記のようなケースが考えられます。
public class ExpSample{
public static void main(String[] args){
String str;
int a;

str = "あ";
a = Integer.parseInt(str);
System.out.println("変数aに代入されている値は" + a + "です。");
}
}

このサンプルをコンパイルした段階ではエラーは発生しません。

しかし、実際にプログラムを実行すると下記のようなエラーが表示されプログラムは強制終了されてしまいます。
Exception in thread "main" java.lang.NumberFormatException: For input string: "
あ"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at ExpSample.main(ExpSample.java:7)


エラー発生源はInteger.parseInt()メソッドを呼び出しているステートメントです。

Integer.parseInt()メソッドは文字列を整数値に変換してくれるメソッドです。
しかし、引数で指定した文字列が数値として解釈できなかった場合、Integer.parseInt()メソッドはNumberFormatExceptionを投げて、プログラムを強制終了させてしまうのです。

上記サンプルは明らかにプログラマのミスです。
プログラミングをする上で、このような不具合を出さないプログラムを作ることは最も重要なことなのですが、人間が作るものなので100%完璧なものはなかなかできません。

そこでJavaは、このような実行時のエラーを適切に処理するために例外exception)というしくみを備えています。

例外というしくみをうまく使うことで、プログラマが想定しなかったエラーが起きた場合でも、プログラムが突然終了してしまうような現象を防ぐことができ、その場合の対処処理を用意することができます。

もちろん、例外に頼ったプログラムはよくありません。
例外はあくまでもプログラムが異常終了してしまうことを防ぐ最終手段である、というとらえ方が適切です。

※プログラム実行中の処理がエラーにより途中で中断され、ユーザの意思に関係なくプログラムが終了することを異常終了と言います。
トラックバック:0Edit
Copyright © Javaから楽しく学ぶ!ゲームプログラミング専門学校 All Rights Reserved.
当サイトのテキストや画像等すべての転載転用・商用販売を固く禁じます