例外処理の中止・Javaソースコードの書き方

例外処理の中止

例外が発生した場合、処理を中止する書き方があります。その例外により、その後の処理の続行を諦める(ギブアップする)場合の書き方です。
実行中のプログラムでは解決できない問題(例外)が起きた時など、このような書き方をします。

「例外処理の流れ」は、次のようなイメージです。
赤線が、「例外処理の流れ」を示します。
catch文で、例外の対処をします。

例外処理の中止

この「例外処理の流れ」は、水平に右方向に行き、そして下方向に行きます。
そしてcatch文に来ます。
しかし、ここでは例外に対処することを諦めて、再び例外を通知します。
例:RuntimeExceptionを通知します。

このRuntimeExceptionは、受け止める(catchする)必要がない例外です。
このような受け止める必要がない例外を通知することによって、例外に対処することを諦めます。
関連する記事:絶対に実行されない文

例外処理の例

実際のメソッドについて、例外処理の例を示します。
ここではまず、赤線を見てください。
プログラムの詳細を理解する必要は、ありません。

「例外処理の中止」の例

次の文で、SAX Perserのオブジェクトを作成します。
factory.newSAXParser();

もしも、そのオブジェクトの作成に失敗した場合は、例外が通知されて、処理がcatch文に来ます。
このSAX Perserオブジェクトの作成が失敗する原因は、プログラムの実行環境にあります。(ほとんどの場合で実行環境に原因がある、と言えるでしょう)。

環境に原因があるため、実行中のプログラムは「その例外(問題)」を解決できません。
よって次の文で例外を通知して、処理の続行を諦めます。
throw new RuntimeException(“could not create SAX Parser”, cause);

参考:この例外を解決する方法

この例外を解決する方法は、例えばsaxParser.jarファイル(仮名)を、適切なディレクトリにコピーする、という方法です。

実行中のプログラムが、どこからかsaxParser.jarファイルを探し出して、適切なディレクトリにコピーする、という処理をすることは困難だと思います。
もしかしたらプログラムのインストール時、ハードディスクにsaxParser.jarファイルをコピーし忘れているかもしれないからです。

※この記事は、2004年6月当時の記事になります。

コンピューター
この記事をシェアする

グッズ・メモランダム