Javaプログラミングを行った際に起こるエラーには「コンパイルエラー」と「実行時エラー」があります。
今回は実行時エラーの説明です。
実行時エラー
実行時エラーはJavaプログラムを実行する時(javaコマンド利用時)に表示されるエラーで、文法エラー等のミスではなく、プログラムのロジックミスや実行時の想定外のエラーなどの場合に実行時エラーとなります。
実行時の具体例
実行するクラス名を間違えた場合
Helloというクラス名をhelloと入力してしまった。
エラー: メイン・クラスhelloが見つからなかったかロードできませんでした
main()メソッドをスペルミスした場合
String[]の[]を入力し忘れた。
ドを定義してください。
public static void main(String[] args)
またはJavaFXアプリケーション・クラスはjavafx.application.Applicationを拡張する必
要があります
プログラムのロジックミスの場合
割り算の際に割る数を0に指定してしまった。
1 2 3 4 5 |
class Zero{ public static void main(String[] args){ System.out.println(5 / 0); } } |
Exception in thread “main” java.lang.ArithmeticException: / by zero
at Zero.main(Zero.java:3)
実行時エラー対処法
「メイン・クラスhelloが見つからなかったかロードできませんでした。」と表示された場合はjavaコマンド時のクラス名かソースコード内のclassの右側にあるクラス名を確認して修正します。
「 メイン・メソッドがクラスHelloで見つかりません。~」と表示された場合はmain()メソッドの部分を確認して修正しましょう。
それ以外のエラーの場合は、エラーの内容を覚えることも必要ですが、コンパイルエラー同様エラーの行を確認しましょう。
実行時エラーの内容は例外という項目でも触れますが、簡潔に表現するとロジックのミスはプログラム内での流れや演算の矛盾等で起こるミスです。
エラー内容
Exception in thread “main” java.lang.ArithmeticException: / by zero
at Zero.main(Zero.java:3)
プログラム内容
1 2 3 4 5 |
class Zero{ public static void main(String[] args){ System.out.println(5 / 0); } } |
エラー内容の赤字の部分がエラーと思われる行数です。
今回は、5/0の部分が実行時エラーの原因となっているので、行数が3となっています。
実行時エラーのポイント
- エラーが表示された場合はコンパイルエラー同様行数を確認
- クラス名のスペルミスに気を付ける
- main()メソッドのスペルミスなどがないか気を付ける