ホームページ  >  記事  >  Java  >  Java 分類例外の問題の説明

Java 分類例外の問題の説明

巴扎黑
巴扎黑オリジナル
2017-07-18 17:50:501282ブラウズ

エラー: エラー。通常はプログラマの管理は必要ありません。一般にメモリ不足などを指します。
例外:例外

実行のタイミングにより、次のように分けられます。
実行時例外: RuntimeException: 実行時にのみ発生する例外。
非実行時例外:

安全かどうかに応じて、次のように分類されます:
チェックされた例外: ファイルを開く例外、ファイル操作の例外、データベース操作の例外など
未チェックの例外: プログラマが注意深く検証しなかった、例外、添字範囲外例外、null ポインター例外、型変換例外が発生します。


処理方法:
2つの方法: tryなどのキーワード処理
throwとthrowsキーワード処理

原則: 下位層は例外をスローし、表層は例外をビジネス言語に変換してユーザーに通知する必要があります。


プロジェクトでの例外処理はユーザー固有である必要があります。
業務例外:業務上で発生する異常。

カスタム例外: ビジネス例外、例外の場所と原因をカプセル化します。

Java 例外:

1. エラー
2. 実行時例外
4. ユーザー定義の例外

クラスは、コンパイル エラーとシステム エラーを表します。例外クラスは、標準の Java ライブラリ メソッドによって発生する例外を表します。 Exception クラスには、Runtime_Exception と Non_RuntimeException という 2 つの直接のサブクラスも含まれています。

実行例外クラスはコンパイルエラーに対応しており、Javaプログラムの実行時にインタープリタによって発生するさまざまな例外を指します。実行例外はどこにでも発生する可能性があり、非常に頻繁に発生するため、システム リソースの大きなオーバーヘッドを避けるために、コンパイラは例外をチェックしません。したがって、Java 言語の実行時例外は必ずしもキャッチされるとは限りません。操作エラーは、多くの場合、算術例外 (0 による除算など)、添字例外 (配列の範囲外など) などのコード内のエラーを示します。

非ランタイム例外は、Non_RuntimeException クラスとそのサブクラスのインスタンスであり、検出可能な例外とも呼ばれます。 Java コンパイラーは、分析メソッドまたは構築メソッドの考えられる結果を使用して、Java プログラムに例外を検出するためのハンドラーが含まれているかどうかを検出します。メソッドまたは構築メソッドの throws 節には、そのタイプに対応する例外がリストされている必要があります。 Java の標準パッケージ java.lang、java.util、および java.net で定義されている例外は、非実行例外です。

ArithmeticException クラス: ArithmeticExecption

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

型キャスト例外: ClassCastException

配列負の添字例外: NegativeArrayException

配列添字範囲外例外: ArrayIndexOutO fBoundsException

安全原則に違反する例外:secturityexceptionの終了例:eofexception

file例外ではありません:filenotfoundexceptionsstring数値に変換された例外:numberformatexception

operationデータベース例外:sqlexception

inputと出力例外:ioexception


method例外が見つかりません: NoSuchMethodException


java.lang.AbstractMethodError

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

java.lang.AssertionError

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

java.lang.ClassCircularityError

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

java.lang.ClassFormatError

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

java.lang.Error

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

java.lang.ExceptionInInitializerError

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

java.lang.IllegalAccessError

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

java.lang.IncompatibilityClassChangeError

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

java.lang.InstantiationError

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

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.lang.NegativeArraySizeException

配列のサイズが負です。この例外は、配列が負のサイズ値で作成された場合にスローされます。

java.lang.NoSuchFieldException

例外はプロパティに存在しません。この例外は、クラスの存在しないプロパティにアクセスしたときにスローされます。

java.lang.NoSuchMethodException

メソッドには例外はありません。この例外は、クラスの存在しないメソッドにアクセスしたときにスローされます。

java.lang.NullPointerException

Null ポインター例外。この例外は、アプリケーションがオブジェクトが必要な場所で null を使用しようとするとスローされます。たとえば、null オブジェクトのインスタンス メソッドの呼び出し、null オブジェクトのプロパティへのアクセス、null オブジェクトの長さの計算、null をスローする throw ステートメントの使用などです。

java.lang.NumberFormatException

数値形式の例外。この例外は、文字列を指定された数値型に変換しようとしたときに、その文字列が数値型で必要な形式を満たしていない場合にスローされます。

java.lang.RuntimeException

ランタイム例外。 Java 仮想マシンの通常の操作中にスローされる可能性のあるすべての例外の親クラスです。

java.lang.SecurityException

セキュリティ例外。セキュリティ違反を示すためにセキュリティ マネージャーによってスローされる例外。

java.lang.StringIndexOutOfBoundsException

文字列インデックスが範囲外の例外。この例外は、0 未満またはシーケンス サイズ以上のインデックス値を使用して文字列内の文字にアクセスした場合にスローされます。

java.lang.TypeNotPresentException

型の例外はありません。この例外は、アプリケーションが型名の文字列表現として型にアクセスしようとしたが、指定された名前に基づいて型が見つからない場合にスローされます。この例外と ClassNotFoundException の違いは、この例外が未チェック (未チェック) 例外であるのに対し、ClassNotFoundException はチェック済み (チェック済み) 例外であることです。

java.lang.UnsupportedOperationException

サポートされていないメソッド例外。要求されたメソッドがサポートされていないことを示す例外。

例外
javax.servlet.jsp.JspException: アクション /Login のマッピングを取得できません (/Login はアクション名です)

考えられる理由
アクションが struts-config.xml で定義されていないか、一致するアクションが見つかりません。たとえば、JSP ファイルで


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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。