Takunojiの日記

自分が勉強したプログラム技術メモ

Java Basic try catch文 〜Step1_3_3〜

前回は、while文についてやりました。

今回はtry catch文についてやります

まず、try catch文ってなに?

って話ですが…一言で言うと

エラーハンドリング用の書き方です。

 

じゃ、エラーハンドリングって?

それは「このケースはエラーにしよう」

と決めた時、想定しない値が入った時

など色々ありますが、下に例を示します

(例)

ゲームを起動する時にインターネットに繋がらない時、この時はゲームを起動する事は出来ないのでエラーですよとユーザーに伝えてあげる必要があります。

プログラム的には…

ゲーム起動時にインターネットへアクセスを試みるがアクセスできない場合

この時に JavaはExceptionクラスもしくはErrorクラスを「投げて」来ます。

 

この「投げる」というのは後でやります

「throw」文の書き方から日本語ではこの様な呼び方になっています。

 

なので

try {

    //Excetionが投げられる可能性のある

    //処理

} catch (Exception e) {

    //エラーの時の処理(ハンドル)

}

の様に書きます。

上の例では「Exceptionクラス」をキャッチしています。
このクラスは、日本語では「例外クラス」と呼ばれ
想定外の事が起こった時に使用します。
詳細に関しては以下のページを参照してください。

Java Basic try catch文 〜Step1_3_3〜 – PGボックス

具体的には標準入力や外部のネットワークに接続する時
DBへアクセスする時など色々ありますが
「想定外の事象が起こり得る時」にこのクラスを使用します。
実際にはコードを描いてみるとわかりますが

例えば
標準入力を行う時に(起動した後にコンソールから入力)
実装する時に下のような書き方をしたとします。
byte[] b = new byte[5];
System.in.read(b);
System.out.println("入力したのは[" + new String(b) + "]ですね");
この時に赤字の部分では、標準入力からの入力を受けるとき
想定外の事象が起こり得ます。
それは、JavaAPIですでに実装されていて
「IOException」というクラスが投げられるように
処理が記載されています。
詳細は下のページに記載してます。

Java Basic try catch文 〜Step1_3_3〜 – PGボックス

細かい話は詳細部分で記載いたします。

<問題1>
上の例を参考にして、標準入力からの入力を
コンソールに出力するプログラムを作成してください。

<問題2>
標準入力からの例外(Exception)と入力の値により
投げられる例外を別々に定義して
それぞれの例外が投げられた時に別の文言を
コンソールに出力するプログラムを作成してください。
例:
System.in.reaf(inputByte);
String input = new String(inputByte);
// 入力の判定を行いエラー時は
throw new Exception("入力違反です");


でわでわ