コース: Java 基本講座

実行時例外や実行例エラーのスタックトレース - Javaのチュートリアル

コース: Java 基本講座

実行時例外や実行例エラーのスタックトレース

このレッスンでは、プログラムの実行中に 例外やエラーが発生した時に表示される スタックトレースと呼ばれるものの 読み方について説明します。 画面のコードをご覧ください。 ここでは、メインメソッドの中で methodA が呼び出され methodB が呼び出され、そして methodC が呼び出されています。 最後に methodC のところでは テキストの文字はいくつ、という風に 表示しているわけですね。 さて、methodA のところでは null が設定されていますから この methodC の中の text も null になってしまいます。 このような場合、NullPointerException が 発生します。 実行してみるとこのように NullPointerException が 表示されましたね。 さてこの[コンソール]に表示された 赤い文字、この文字は スタックトレースと呼ばれます。 例外のスタックトレースです。 この読み方について考えておきましょう。 まず一番上に何が発生したかということが 書かれています。 ここでは、NullPointerException が 発生したということがわかるわけです。 そしてその下の部分には、問題がどこで 発生したかということが書かれています。 プログラムが実行されていった経路を 意味しているわけですね。 例えば NullPointerException と書かれた すぐ次のところでは、at これは英語で場所を指す言葉ですね。 どこで起きたかということが Sample.java の 18 行目で起きた ということが書かれています。 Eclipse ではこのコードをクリックすると 18 行目にジャンプします。 つまりここで問題が生じたということが わかるわけですね。 さらに例外のスタックトレースの 下の部分を見ていきますと 14 行目のところも通ったということが わかります。 この部分ですね。 そして、10 行目。 そして、6行目。 ということになるわけです。 このように見ていきますと プログラムがどのような経路で 実行された時に、最終的に例外が発生したか ということがわかるわけです。 例外のスタックトレースは 時系列的に見ていけば、下から順に 上に上がっていきます。 一番下が古い情報、そしてプログラムの 進行順に従って上の方に行くほど 新しい情報になるというわけです。 プログラム実行中に例外が発生した時 あるいはエラーが発生した時は このように[コンソール]に スタックトレースと呼ばれるものが 表示されます。 これをしっかり確認することによって 問題を解決することができます。 このレッスンでは、例外の スタックトレースの読み方について 説明しました。

目次