Javaコードのデバッグ実行時に、任意の場所で任意の例外を起こしたいということがある。
例えば、メソッド内でこの例外が起きたら、うまくキャッチできるのかということを確認したい場面だ。
Eclipseの機能を使えば簡単に実施できることが分かったので、その方法を備忘として残しておく。
使用環境
Eclipseのバージョン
使用したEclipseのバージョン:4.30.0
プログラム
今回例外発生の手順を確認に使用するのとコンソールに「Hello World!」と表示するだけの以下プログラム。
手順
ブレイクポイントの設定
まず、例外を発生させたいポイントでデバッグ用のブレイクポイントを設定する。
ブレイクポイントの設定は、コードの左側の行番号の左にカーソルを移動し、ダブルクリックをすることで設定できる。
以下の画像だと、設定したブレイクポイントの箇所が青丸が表示されている。
デバッグの実行
マウスを右クリックし、表示されたコンテキストメニューからデバッグを選択し、Javaアプリケーションを実行する。
デバッグが実行されると、プログラムが実行されブレイクポイントを設定した行でプログラムの実行が停止する。
デバッグシェルの表示
デバッグが実行されたら、デバッグ用のパースペクティブを開く。
デバッグ用のパースペクティブは、Eclipse上部から「ウインドウ>パースペクティブを開く>デバッグ」で開くことができる。
デバッグ用のパースペクティブが表示されたら、デバッグシェルを表示する。
Eclipse上部から「ウインドウ>ビューの表示>デバッグ・シェル」で表示することができる。
画面下にデバッグシェルが表示された。
ブレイクポイントを設定した場所で例外を発生させる。
デバッグシェルに、発生させる例外を記載する、今回はEcxeptionを発生させる。
「throw new Exception();」を記載し、記載した内容を選択した状態で右クリックのコンテキストメニューから「実行」する。
例外が発生する。
特にキャッチはしていないので、コンソールにて例外が発生したことを確認できる。
「System.out.println(hello);」の前に例外が発生しているので、「Hello World!」がコンソールに表示されていないことも確認できる。