Javaの例外は何ですか

angryTom
リリース: 2019-11-12 15:44:27
オリジナル
4166 人が閲覧しました

Javaの例外は何ですか

java の例外とは何ですか

Java プログラムを作成すると、常にさまざまなエラーが発生します。以下に、一般的な例外エラーをまとめます。 (推奨チュートリアル: java チュートリアル)

1. java.lang.nullpointerException

誰もがこの例外に頻繁に遭遇するはずです。例外 「プログラムが null ポインタに遭遇しました」です。簡単に言うと、初期化されていないオブジェクト、または存在しないオブジェクトを呼び出したことを意味します。このエラーは、ピクチャの作成や配列の呼び出しなどの操作でよく発生します。たとえば、ピクチャが初期化されていない、画像が初期化されていない、作成時のパスが間違っている、など配列操作での null ポインターの発生は、プログラミングを学び始めたばかりの友人が犯す間違い、つまり配列の初期化と配列要素の初期化を混同することがよくあります。配列の初期化は、必要なスペースを配列に割り当てることです。初期化された配列内の要素はインスタンス化されておらず、まだ空であるため、各要素を (呼び出す場合には) 初期化する必要があります

2. java.lang.classnotfoundException

この例外は、もともと jb やその他の開発環境で開発していた多くのプログラマが、wtk の下で jb の下でパッケージをコンパイルするときによく発生します。例外の内容は「指定されたクラスが存在しない」です。ここでは主にクラスの名前とパスが正しいかどうかを考えます。jb 配下にパッケージを作成した場合、通常はデフォルトでパッケージが追加されるので、wtk をダウンロードした後、転送します。必ずパッケージのパスを追加してください。

3. java.lang.arithmeticException

この例外の説明は「数学的演算例外」で、例えばゼロ除算などの演算が発生します。このような例外については、プログラムに含まれる数学的演算を注意深くチェックして、式に何か問題がないかどうかを確認する必要があります。

4. java.lang.arrayindexoutofboundsException

多くの友人がこの例外に頻繁に遭遇したと思います。例外の説明は「配列インデックスが範囲外です」です。プログラム内では配列を操作するものがほとんどなので、配列を呼び出す際には、呼び出している添え字が配列の範囲を超えていないかよく確認する必要があります。一般に、表示する(つまり、直接使用する)のは簡単ではありません。添字として定数を使用する) 呼び出しではエラーが発生しますが、暗黙的な (つまり、添字を表す変数を使用する) 呼び出しでもエラーが発生することがよくあります。別の状況として、プログラム内で定義された配列の長さが何らかの特定の要因によって決定される場合があります。この例外を回避するには、最初に配列の長さを確認することをお勧めします。

5. java.lang.illegalargumentException

この例外の説明は「メソッド パラメータ エラー」です。j2me クラス ライブラリの多くのメソッドは、場合によってはこのようなエラーを引き起こします。たとえば、音量調整メソッドの音量パラメータが負の数値として記述されている場合、この例外が発生します。別の例としては、g.setcolor(int red, int green, int blue) の 3 つの値が挙げられます) メソッド。255 個を超える場合もこの例外が発生します。したがって、この例外を見つけたら、メソッド呼び出しで渡すパラメーターにエラーがあるかどうかをすぐに確認する必要があります。

6. java.lang.illegalaccessException

この例外の説明は「アクセス許可がありません」です。アプリケーションがクラスを呼び出す必要があるが、現在のメソッドが呼び出されない場合です。この例外は、このクラスにアクセスすると発生します。プログラム内でパッケージを使用する場合は、この例外に注意してください。

他にも多くの例外があるため、1 つずつ列挙することはしません。私が説明したいのは、資格のあるプログラマーは、プログラム内の一般的な問題とそれに対応する解決策を十分に理解している必要があるということです。プログラムを変更せずに書くだけで終わってしまうと、自分自身の開発に大きな影響を及ぼします。例外の説明はすべて API にあります。

算術例外クラス: ArithmeticExecption

Null ポインタ例外クラス: NullPointerException

型キャスト例外: ClassCastException

配列負の添字例外: NegativeArrayException

配列添字の境界外例外: ArrayIndexOutOfBoundsException

セキュリティ原則違反例外: SecurityException

ファイル終了例外: EOFException

ファイルが見つからない例外: FileNotFoundException

文字列から数値への変換例外: NumberFormatException

操作データベース例外: SQLException

入出力例外: IOException

メソッドが見つからない例外: NoSuchMethodException

java.lang.AbstractMethodError

抽象メソッドのエラー。アプリケーションが抽象メソッドを呼び出そうとするとスローされます。

java.lang.AssertionError

アサーション エラー。アサーションの失敗を示すために使用されます。

java.lang.ClassCircularityError

クラスの循環依存関係エラー。クラスの初期化時に、クラス間の循環依存関係が検出された場合、この例外がスローされます。

java.lang.ClassFormatError

クラス形式エラー。 Java 仮想マシンがファイルから Java クラスを読み取ろうとし、ファイルの内容がクラスの有効な形式に準拠していないことを検出した場合にスローされます。

java.lang.エラー

###間違い。すべてのエラーの基本クラスであり、プログラム動作の重大な問題を識別するために使用されます。これらの問題は通常、アプリケーションが検出すべきではない異常な状況を表しています。

java.lang.ExceptionInInitializerError

イニシャライザ エラー。クラスの静的初期化子の実行中に例外が発生した場合にスローされます。静的イニシャライザは、クラスに直接含まれる静的ステートメントセグメントを参照します。

java.lang.IllegalAccessError

不正アクセスエラー。この例外は、アプリケーションがクラスのフィールド (Field) にアクセスまたは変更するか、そのメソッドを呼び出そうとしたが、フィールドまたはメソッドの可視性宣言に違反した場合にスローされます。

java.lang.IncompatibilityClassChangeError

互換性のないクラス変更エラー。この例外は、実行中のメソッドが依存するクラス定義に互換性のない変更が発生した場合にスローされます。一般に、このエラーは、アプリケーション全体を再コンパイルして直接実行せずに、アプリケーション内の一部のクラスの宣言定義が変更された場合に発生しやすくなります。

java.lang.InstantiationError

インスタンス化エラー。この例外は、アプリケーションが Java の新しい演算子を介して抽象クラスまたはインターフェイスを構築しようとするとスローされます。

java.lang.InternalError

内部エラー。 Java 仮想マシンで内部エラーが発生したことを示すために使用されます。

java.lang.LinkageError

リンケージエラー。このエラーとそのすべてのサブクラスは、クラスが他のクラスに依存していることを示しています。クラスがコンパイルされた後、依存するクラスはすべてのクラスを再コンパイルせずにクラス定義を変更するため、エラー状態が発生します。

java.lang.NoClassDefFoundError

クラス定義が見つからないエラー。このエラーは、Java 仮想マシンまたはクラス ローダーがクラスをインスタンス化しようとして、クラスの定義が見つからない場合にスローされます。

java.lang.NoSuchFieldError

フィールドが存在しないエラー。このエラーは、アプリケーションがフィールドの定義を持たないクラスのフィールドにアクセスまたは変更しようとするとスローされます。

java.lang.NoSuchMethodError

メソッドにエラーはありません。このエラーは、アプリケーションがメソッドの定義を持たないクラスのメソッドを呼び出そうとしたときにスローされます。

java.lang.OutOfMemoryError

メモリ不足エラー。このエラーは、Java 仮想マシンがオブジェクトを割り当てるために使用可能なメモリが不十分な場合にスローされます。

java.lang.StackOverflowError

スタック オーバーフロー エラー。このエラーは、アプリケーションが再帰呼び出しを行う深さが深すぎてスタック オーバーフローが発生した場合にスローされます。

java.lang.ThreadDeath

スレッドが終了します。このエラーは、スレッドの終了を示すために Thread クラスの stop メソッドが呼び出されたときにスローされます。

java.lang.UnknownError

不明なエラー。 Java 仮想マシンで不明な重大エラーが発生したことを示すために使用されます。

java.lang.UnsatisfiedLinkError

不満足なリンク エラー。 Java 仮想マシンがネイティブ メソッドを宣言するクラスのネイティブ言語定義を見つけられない場合にスローされます。

java.lang.UnsupportedClassVersionError

サポートされていないクラス バージョン エラー。このエラーは、Java 仮想マシンが特定のクラス ファイルを読み取ろうとしたときに、ファイルのメジャー バージョン番号とマイナー バージョン番号が現在の Java 仮想マシンでサポートされていないことが判明した場合にスローされます。

java.lang.VerifyError

検証エラー。このエラーは、バリデーターがクラス ファイルの内部非互換性またはセキュリティの問題を検出した場合にスローされます。

java.lang.VirtualMachineError

仮想マシンのエラー。仮想マシンが破壊されたか、操作を継続するためのリソースが不足している状況を示すために使用されます。

java.lang.ArithmeticException

算術条件例外。例: 整数のゼロ除算など。

java.lang.ArrayIndexOutOfBoundsException

配列インデックスの範囲外の例外。配列のインデックスが負の場合、または配列サイズ以上の場合にスローされます。

java.lang.ArrayStoreException

配列ストレージ例外。配列宣言されていない型のオブジェクトが配列に格納されている場合にスローされます。

java.lang.ClassCastException

クラスキャスト例外。クラス A と B (A は B の親クラスまたはサブクラスではありません) があり、O が A のインスタンスであると仮定すると、O がクラス B のインスタンスとして強制的に構築されると、この例外がスローされます。この例外は、キャスト例外と呼ばれることがよくあります。

java.lang.ClassNotFoundException

クラス例外が見つかりません。この例外は、アプリケーションが文字列形式のクラス名に基づいてクラスを構築しようとしたが、CLASSPAH を走査した後に対応する名前のクラス ファイルが見つからなかった場合にスローされます。

java.lang.CloneNotSupportedException

クローン例外はサポートされていません。 Cloneable インターフェイスが実装されていない場合、または clone メソッドがサポートされていない場合、その clone() メソッドを呼び出すと、この例外がスローされます。

java.lang.EnumConstantNotPresentException

列挙定数には例外はありません。この例外は、アプリケーションが名前と列挙型で列挙オブジェクトにアクセスしようとしたが、列挙オブジェクトに定数が含まれていない場合にスローされます。

java.lang.Exception

ルート例外。アプリケーションがキャプチャしたい状況を記述するために使用されます。

java.lang.IllegalAccessException

不正なアクセス例外。この例外は、アプリケーションがクラスのインスタンスの作成、クラス プロパティへのアクセス、またはリフレクションによるクラス メソッドの呼び出しを試行し、その時点でクラス、属性、メソッド、またはコンストラクターの定義にアクセスできない場合にスローされます。

java.lang.IllegalMonitorStateException

不正監視状態が異常です。この例外は、スレッドが所有していないオブジェクト (O) のモニターを待機しようとした場合、または他のスレッドにオブジェクト (O) のモニターを待機するように通知した場合にスローされます。

java.lang.IllegalStateException

不正な状態の例外。この例外は、メソッドが正当な呼び出し状態になる前に Java 環境およびアプリケーションで呼び出されたときにスローされます。

java.lang.IllegalThreadStateException

不正なスレッド状態例外。カウンティが特定のメソッドの正当な呼び出し状態にないときにそのメソッドが呼び出されると、例外がスローされます。

java.lang.IndexOutOfBoundsException

インデックスの範囲外の例外。この例外は、シーケンスのインデックス値が 0 未満、またはシーケンス サイズ以上の場合にスローされます。

java.lang.InstantiationException

インスタンス化の例外。この例外は、newInstance() メソッドを通じてクラスのインスタンスを作成しようとしたときに、そのクラスが抽象クラスまたは抽象インターフェイスであるときにスローされます。

java.lang.InterruptedException

中断された例外。この例外は、スレッドが長時間待機、スリープ、またはその他の一時停止状態にあり、他のスレッドが Thread の割り込みメソッドを通じてスレッドを終了した場合にスローされます。

以上がJavaの例外は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート