ただ、ストレスなく生きたいだけのITエンジニアのブログ -- 弱小エンジニア脱却への道
【初心者向け】javaのメソッドとは-書き方を解説します

【初心者向け】javaの例外処理の書き方について解説します。(後半)

こんにちは!ISAMU(@burlesca_isa)です!

今回の対象読者は

  • 例外処理の書き方について知りたい方

この記事を読むと

例外処理のプログラムの書き方

が分かります。

この記事を読む前に、こちらの記事を読むことをおすすめします。

[nlink url=”https://kajirinyo.com/java_course_24/”]

例外処理の書き方について解説します

例外処理の構文 基本パターン

try {
実行プログラム
} catch(例外クラス名 変数名){
例外発生時の実行プログラム
}

tryブロック内に書かれたプログラムはJVMによって監視されます。

例外が発生した場合にはcatchに書かれたプログラムが実行されます。

例外クラス名とは

構文に記述する[例外クラス名]には

  • Error系例外クラス
  • Exception系例外クラス
  • RuntimeException系例外クラス

を記述します。

これらのクラスはスーパークラスです。
この中で重要なException系クラスについて説明します。

Exception系クラス

Exception系例外は必ずtry catch文を記述する必要があります。

Exception系例外クラスはサブクラスが用意されています。

  • IOExceptionクラス ファイル操作が失敗した時に使用する
  • ConnectExceptionクラス ネットワーク接続が失敗した時に使用する

これらのクラスはcatchのカッコ内のクラス名に指定します。

catch(IOException e){}

などのように記述します。

変数名は任意で付けることができますが、
eexなどがよく使用されます。

例外が発生した場合、例外の詳細情報変数eに代入されます。

catch文の中で、この変数eを使用して
詳細情報を表示するメソッドを使用することができます。

詳細情報を表示するメソッドは下記の通りです。

  • String getMessage()
  • void printStackTrace();

getMessage()メソッドはエラーメッセージを取得します。戻り値はStringです。

printStackTrace()メソッドはスタックトレースの内容を画面に出力します。

スタックトレースはプログラムの実行された順序を表示します。

実行時エラーが発生した時に表示されるエラー画面のことです。

finallyを使用する

例外処理が発生した場合はcatchブロックに記述されているプログラムが実行されますが、
finallyを使用することで、
例外処理が発生しても発生しなくても必ず実行されるプログラムを記述することができます。

例えば、cacheに指定したクラスがIOException
発生したエラーがIOException以外のクラスである場合、
catchは実行されずにプログラムが終了してしまいます。

プログラムで「ファイルを開く処理」や「ネットワーク接続処理」を行った場合は、
「ファイルを閉じる処理」と「ネットワーク切断処理」は必ず行う必要があります。

そのため、finallyを使用して成功しても失敗しても
必ず行わなければならない処理を記述する
必要があります。

try {
実行プログラム
} catch(例外クラス名 変数名){
例外発生時の実行プログラム
} finally{
成功しても失敗しても必ず行わなければならない処理
}

ファイルをクローズするときもtry cache文を使用する

ファイルをクローズする時も失敗する可能性があるので
try cache文を記述します。

サンプルプログラム

【初心者向け】javaのメソッドとは-書き方を解説します
最新情報をチェックしよう!