Exception
Exception | 意味 | ユーザの対処 |
---|---|---|
java.lang.ArithmeticException | 算術計算で例外的条件が発生した場合にスローされます。たとえば、整数を「ゼロで除算」するとこのクラスのインスタンスがスローされます。 | 算術計算で用いている変数、定数が正しいことを確認してください。 |
java.lang.ArrayIndexOutOfBoundsException | 不正なインデックスを使って配列がアクセスされたことを示すためにスローされます。インデックスが負または、配列のサイズ以上の場合です。 | 配列のインデックスが配列のサイズに収まっていることを確認してください。 |
java.lang.ArrayStoreException | 不正な型のオブジェクトをオブジェクトの配列に格納しようとしたことを示すためにスローされます。 | 同じ型の配列オブジェクトを new により生成してから代入してください。 |
java.lang.CloneNotSupportedException | オブジェクトを複製するために Object クラスの clone メソッドが呼び出されたが、そのオブジェクトのクラスが Cloneable インタフェースを実装していないことを示すためにスローされます。 | 対象のクラスが Cloneable インタフェースを実装していることを確認してください。 |
java.lang.IllegalAccessException | アプリケーションがクラスをロードしようとしたとき、そのクラスが public でなかったり、別のパッケージに入っていたりするために、実行中のメソッドが指定されたクラスの定義にアクセスできない場合にスローされる例外です。 | Exceptionの後に、「at java.lang.reflect.Field.get(Native Method)」が出力されている場合、ネイティブメッソッド内でエラーが発生している可能性があります。 |
java.lang.IllegalArgumentException | 不正な引数、または不適切な引数をメソッドに渡したことを示すためにスローされます。 | 引数として受け渡した変数の値が正常な範囲、値であることを確認してください。 |
java.lang.IllegalMonitorStateException | 所定のモニターを持たないスレッドがオブジェクトのモニターで待つことを試みたこと、あるいはほかのスレッドが所定のモニターを持たずにオブジェクトのモニターで待つことを通知したことを示すためにスローされます。 | wait() や notify() が、synchronized () {...} のブロックの内部(あるいは synchronized がつけられたメソッドの内部)外で使おうとしていないか確認してください。このような場合にスローされます。waitメソッドに関する使用法は、Java Tutorialが参考になります。 |
java.lang.IllegalThreadStateException | 要求されたオペレーションに対してスレッドの状態が不適切であることを示すためにスローされます。 | スレッドが「新規のスレッド」状態で、システム資源がまだ割り当てられていない状態で start() あるいは stop() に加えて他のメソッドを呼び出していないか確認してください。また、スレッドが停止していない状態で start メソッドを呼び出していないか、処理を確認してください。 |
java.lang.IndexOutOfBoundsException | ある種のインデックス (配列、文字列、ベクタなど) が範囲外であることを示すためにスローされます。 | インデックスが配列、文字列、ベクタなどのサイズに収まっていることを確認してください。 |
java.lang.InstantiationException | アプリケーションが Class クラスの newInstance メソッドを使ってクラスのインスタンスを生成しようとしたときに、クラスがインタフェースまたは abstract クラスであるために指定されたオブジェクトのインスタンスを生成できない場合にスローされます。 | インタフェースや、abstruct クラスではなく、実装されているクラスを使用してください。 |
java.lang.InterruptedException | あるスレッドが長い間の待ち状態、休止状態、または一時停止の状態であるとき、他のスレッドが Thread クラスの interrupt メソッドを使ってこの状態に割り込みをかけた場合にスローされます。 | 他スレッドから割り込みを受けたことを示しています。例外ではありますが、タイムアウトの処理などに使われることもあり、必ずしも問題が発生しているとは限りません。InterruptException を catch したら、アプリケーションのロジックに応じて処理を行うようにします。 |
java.lang.NegativeArraySizeException | 負のサイズを持った配列をアプリケーションが作成しようとした場合にスローされます。 | サイズに使っている変数、定数が正しいか確認してください。 |
java.lang.RuntimeException | RuntimeException は、Java Virtual Machine の通常の処理でスローすることができる各種の例外のスーパークラスです。 | Java VMや、ミドルウエアがスローする例外です。通常は、そのサブクラスがスローされます。getMessage() や、printStackTrace() メソッドを使用して原因を調査してください。サーバアプリケーションでは、これらをログに出力することをおすすめします。 |
java.lang.SecurityException | セキュリティマネージャによってスローされ、セキュリティ違反を示します。 | アプリケーションが行おうとしている処理が設定により許されていないことを示します。ポリシーファイルによりこれらの設定は変更できます。アプリケーションの運用にかかわる問題ですので、システム管理者が適切なポリシーを設定する必要があります。 |
java.lang.StringIndexOutOfBoundsException | String メソッドによりスローされ、インデックスが負または文字列のサイズより大きいことを示します。charAt などのいくつかのメソッドでは、インデックスが文字列のサイズと等しい場合にも、この例外がスローされます。 | インデックスが文字列のサイズに収まっていることを確認してください。 |
Error
Error | 意味 | ユーザの対処 |
---|---|---|
java.lang.AbstractMethodError | アプリケーションが abstract メソッドを呼び出そうとするとき、スローされます。 通常、コンパイラがこのエラーをキャッチします。現在実行中のメソッドを最後にコンパイルしたあとで、あるクラスの定義を変更して互換性がなくなるときのみ、実行時にこのエラーが発生します。 | アプリケーション全体をリコンパイルしてください。コンパイルによりエラーが出力された場合は、そのメッセージにしたがってください。 |
java.lang.AssertionError | 宣言が失敗したことを示すためにスローされます。 | Assert処理を確認してください。 |
java.lang.ClassCircularityError | クラスの初期化時にループが見つかった場合にスローされます。 | クラスローダ(もしくはその延長)で、初期化しようとしたクラスを、再び初期化しようとする場合に発生します。独自のクラスローダを使用している場合、その処理を見直してください。スタックトレースの解析が有効です。 |
java.lang.ClassFormatError | Java 仮想マシンがクラスファイルを読み込もうとして、ファイルが壊れていると判断した場合、またはクラスファイルとして解釈できない場合にスローされます。 | クラスファイルが壊れていないか確認してください。 |
java.lang.Error | Error は Throwable のサブクラスで、通常のアプリケーションであればキャッチすべきではない重大な問題を示します。そうしたエラーの大部分は異常な状態です。ThreadDeath エラーは「正常」な状態ですが、ほとんどのアプリケーションではキャッチすべきではないので、やはり Error のサブクラスの 1 つです。 | 意味に記述されたとおりです、スタックトレースを参照して原因を調査してください。 |
java.lang.IllegalAccessError | アクセスできないフィールドへのアクセスや変更、あるいはアクセスできないメソッドの呼出しをアプリケーションが試みた場合にスローされます。 | 通常、このエラーはコンパイラによって検出されます。一部のクラスだけ別途コンパイルした場合などに発生します。アプリケーション全体をリコンパイルしてください。コンパイルによりエラーが出力された場合は、そのメッセージにしたがってください。 |
java.lang.IncompatibleClassChangeError | クラス定義に互換性のない変更があった場合にスローされます。現在実行中のメソッドが依存しているクラスの定義が、実行開始後に変更されています。 | 正しいクラスが動作しているか確認してください。 |
java.lang.InstantiationError | アプリケーションが Java の new 構文を使って abstract クラスやインタフェースのインスタンスを生成しようとしたときにスローされます。 | 該当箇所のソースを見直してください。 |
java.lang.InternalError | Java Virtual Machine 内で予期しない内部エラーが発生したことを示すためにスローされます。 | 意味に記載されたとおりです。本障害はJava Virtual Machine自身の故障の可能性が高いです。最新の修正が適用されていない場合、修正を適用してください。そのうえで再現性がある場合、富士通技術員に連絡してください。 |
java.lang.LinkageError | LinkageError のサブクラスは、あるクラスが別のクラスに依存関係がある場合に、前者のクラスをコンパイルしたあと、後者のクラスへの変更によって互換性が失われたことを示します。 | 一部のクラスだけ別途コンパイルした場合などに発生します。アプリケーション全体をリコンパイルしてください。コンパイルによりエラーが出力された場合は、そのメッセージにしたがってください。 |
java.lang.NoSuchFieldError | アプリケーションがオブジェクトの指定のフィールドへアクセス、または変更しようとして、オブジェクトにそのフィールドがないときにスローされます。 | 一部のクラスだけ別途コンパイルした場合などに発生します。アプリケーション全体をリコンパイルしてください。コンパイルによりエラーが出力された場合は、そのメッセージにしたがってください。 |
java.lang.StackOverflowError | アプリケーションでの再帰の回数が多すぎてスタックオーバーフローが起こる場合にスローされます。 | 再帰処理を見直してください。また、必要な場合は、-Xss オプションを使用して、スタックサイズを大きくしてください。 |
java.lang.ThreadDeath | ThreadDeath のインスタンスは、Thread クラスの引数なしの stop メソッドが呼び出されると、対象となるスレッド内でスローされます。 | Threadクラスのstop メソッドは推奨されないメソッドです。Thread クラスの interrupt メソッドなどを使用し、処理を書き換えてください。 |
java.lang.UnknownError | 未知であるが重大な例外が Java Virtual Machine で発生した場合にスローされます。 | 再現性がある場合、富士通技術員に連絡してください。 |
java.lang.UnsupportedClassVersionError | Java Virtual Machine が、クラスファイルの読み込み中に、そのファイルのメジャーバージョン番号とマイナーバージョン番号がサポートされていないと判定した場合にスローされます。 | Javaは基本的にアッパーコンパチブルですが、後のバージョンのJDKでコンパイルしたものの実行は保証されません。実行でお使いになるJavaと同じバージョンでコンパイルされているか確認してください。 |
java.lang.VerifyError | クラスファイルが適切に形成されていても、ある種の内部矛盾またはセキュリティ問題があることを「verifier」が検出すると、スローされます。 | 問題の発生したクラスをリコンパイルしてください。また、メソッドトレース機能など、Javaのクラスに変更を加えるものを利用している場合、その機能の利用を停止して比較してみてください。 |
java.lang.VirtualMachineError | Java Virtual Machine が壊れているか、または動作を継続するのに必要なリソースが足りなくなったことを示すためにスローされます。 | リソース(実メモリ、仮想メモリ)を増やし、それでも再現性がある場合、富士通技術員に連絡してください。 |