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 サイトの他の関連記事を参照してください。