047-例外処理-単純な例外処理 【新人エンジニアが最初に覚えたい100のJava文法】
ユーチューブ動画
単純な例外処理について解説します。
ソースコード
try{ FileWriter fw = new FileWriter(FILE_PATH); BufferedWriter bw = new BufferedWriter(fw); bw.write("abc"); bw.close(); }catch(IOException e){ e.printStackTrace(); }
解説
単純な例外処理について解説します。
例外とは、通常の処理を継続できない状態を示します。
Javaでは、ファイルの入出力やデータベース処理などで処理が継続できない可能性があるため、例外処理と呼ばれる文法を使います。
それがtry-catch構文です。
単純な例外処理では、tryのブロックに例外が発生する可能性がある処理を記述し、catchの()の中に例外の種類、catchのブロックに例外が発生したときの処理を記述します。
また例外が発生してもしなくても実行するブロックにfinallyがあります。このブロックはファイルの切断やデータベースの切断などに用いられます。
サンプルコードでは、e.printStackTraceというメソッドが呼び出されています。
例外が発生したときに、どこで例外が発生したのかその流れを出力するメソッドです。
catchブロックを空にしてしまうと、何が例外かわからなくなってしまうので、最低限の処理として、printStackTraceというメソッドを記述する場合があります。
さて、今回は、FileWriterやBufferedWriterクラスなど、聞き慣れないクラスが登場しました。これらは入出力のAPIになります。
詳しくは入出力編の動画で解説しますが、ここでは例外処理に注目して、解説します。
JavaSE のAPIドキュメントでBufferedWriterクラスのwriteメソッドを確認すると、例外IOExceptionが発生と定義されています。
このようにAPIを利用するときには、「〜のような例外が発生する」とすでに定義されています。
よって、APIを利用するときには特に例外について注意しなければいけません。
例えばこの入出力処理でtry-catchキャッチの構文をとってしまうと、ご覧のようにコンパイルエラーになります。
すべての例外でコンパイルエラーが発生するわけではありませんが、このような場合、どうしてもtry-catchキャッチの構文が必要になるのです。
統合開発環境のEclipseには便利な機能が用意されています。
範囲選択して、右クリックし、囲むからtry/catchブロックを選択すると、自動的に例外の種類を認識して、try-catchブロックを作ってくれます。
たいへん便利な機能です。
まずは、例外処理という仕組みはtry-catchブロックで実現できることを押さえてください。
次の動画もぜひ見て例外処理について深めてください。
以上、単純な例外処理について解説しました。
このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。
投稿者プロフィール
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
- 新入社員2024年11月23日「ゲシュタルト崩壊」とシステム開発
- 新入社員2024年11月23日データベースでテーブル名やフィールド名にスペースを使うことは、一般的には推奨されていません
- 新入社員2024年11月23日「データにはなぜ型が必要なのか?」を2進数の観点から解説
- 新入社員2024年11月23日ディスプレイの解像度の意味と変更方法