【Javaプログラミング】Exception 例外処理とは?try…catchの使い方についても-プロショvol.66

スポンサーリンク
Java攻略

今回は例外処理とは何か、また発生しうる例外をどのように対処するのかについて見ていく。

 

スポンサーリンク

例外処理とは?

 

プログラミングを行っていると、さまざまな問題が発生する。

その中で、プログラムの実行中に例外が発生してしまうと強制終了されてしまったりする。

 

例外処理とは、プログラムの行中に起こる問題を処理して通常通りにアプリなどが動くようにすること。

trycatchを使用して例外処理を行う。

 

例外が起こる様々な原因

 

例外が起きる原因として、以下のものが挙げられる。

  • プログラムに開くように指定したファイルが存在していなかった
  • ユーザーが間違ったデータを入力した
  • 通信中にネットワーク接続が切れた
  • メモリ不足
  • その他

ユーザーが原因のものから、コンピュータが原因のものなど様々。

優れたプログラマーになるには全ての起こりうる例外をきちんと処理できるスキルが求められる。

 

tryとcatchとは?

 

例外はtryとcatchを使用して見つけることができる。

try・・・プログラムの実行中にエラーが起きるかチェックするためのもの

catch・・・tryの中でエラーが発生したときに実行するコードを入力

tryとcatchは2つで1組。

一緒に使用される。

 

tryとcatchを使用したプログラム

 

tryとcatchを使用したプログラムの構文は以下の通り。

try {
問題があるか確かめたいコードを入力
}
catch(Exception e) {
実行中に例外が起きた際に処理するコードを記入
}

Exception eは全ての例外を見つけるのに必要なもの。

catchを使用するときは「Exception e」も使用する。

上の構文を利用して作ったコードが以下。

例外が発生する可能性がある一つに、「配列」がある。

以下はその配列を使用したもの。

public class testReigai {
public static void main(String[] args) {
try {
int[] A= {5,10,15};
System.out.println(A[8]);
 }
catch(Exception e){
System.out.println(“どこかがおかしい”);
}
}
}

このプログラムを実行すると以下が表示される。

どこかがおかしい

 

配列を作ったとき、{}の中には「5,10,15」の3つの数字しかない。

だが、表示させるように指示するコードには「9番目の数字を表示するように」と書いてある(System.out.println(A[8]);)。

番号は[0]から付けられる。

A[8]というのは[0][1][2][3][4][5][6][7][8]と9番目の位置。

 

コードを作成したときには、9番目のコードを使用するように指定されているにもかかわらずバツ印などの表示も出ないからエラーが見た目では分からない。

配列と例外

コードが書かれた数字の横には×マークなどもなく、なにもエラーが出ていない。

 

tryとcatchが無ければ、プログラムを実行すると以下が表示されてしまう。

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 3
at JavaTakusanRenshu/Renshu.testReigai.main(testReigai.java:8)

これはプログラムを実行するまで分からない。

tryとcatchを使用しなければ、プログラムが壊れてしまうかもしれない。

このようなことを防ぐために、例外が起こりそうなコードにはtryとcatchを使用して例外処理を行う。

 

最後に

 

例外処理は、プログラムを強制終了させないためにも必ず押さえておきべきもの。

問題が起きたプログラムを誰も修正できなくなってしまうと、せっかく作ったプログラムが台無しになってしまう。

次はもう少し複雑なコードで試してみようかな・・・。

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました