ホームページ >Java >&#&ベース >Java におけるいくつかの一般的な例外

Java におけるいくつかの一般的な例外

尚
オリジナル
2019-12-26 14:01:177162ブラウズ

Java におけるいくつかの一般的な例外

異常とは、文字通りの意味によれば、予期せぬことを意味します。コード レベルで理解するには、現在のメソッドまたはスコープが実行を継続できないようにします。 Java では、例外はオブジェクトとして処理され、その基本クラスは Throwable です。

Java のいくつかの一般的な例外:

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

初期化されていないオブジェクトが呼び出されたか、オブジェクトが存在しません。イメージが初期化されていない、イメージ作成時のパスが間違っているなど、イメージの作成や配列の呼び出しなどの操作でよく発生します。配列操作中に null ポインターが表示されるため、配列の初期化と配列要素の初期化が混同されます。

配列の初期化は、必要な領域を配列に割り当てることです。初期化された配列内の要素はインスタンス化されておらず、まだ空であるため、各要素を初期化する必要があります (呼び出したい場合)。もし)。

2. データ型変換例外: java.lang.ClassCastException

オブジェクトに対してダウンキャストを強制しようとしたが、オブジェクトを変換できず、この例外がスローされる場合次のコードのように、インスタンスがそのサブクラスに変換できない場合。

Object obj = new Integer(0);
String str = obj;

3. アクセス権なし: java.lang.IllegalAccessException

アプリケーションがクラスを呼び出したいが、現在のメソッドにクラスへのアクセス権がない場合。 class この例外が発生します。プログラム内でパッケージを使用する場合は、この例外に注意してください。

4. メソッド パラメーター エラー: java.lang.IllegalArgumentException

たとえば、3 つのメソッド g.setColor(int red, int green, int blue) If値が 255 を超えると、この例外も発生するため、この例外を見つけたら、メソッド呼び出しで渡すパラメーターにエラーがないかをすぐに確認する必要があります。

5. 配列の添字の範囲外の例外: java.lang.IndexOutOfBoundsException

呼び出された配列または文字列の添字値が範囲を超えているかどうかを確認します。一般に、明示的な (つまり、定数を添え字として直接使用する) 呼び出しではそのようなエラーが発生する可能性は低くなりますが、暗黙的な (つまり、添え字を表すために変数を使用する) 呼び出しではエラーが発生することがよくあります。

プログラム内で定義される配列の長さが特定のメソッドによって決定され、事前に宣言されていない場合もありますが、その際は配列の長さを確認してこの例外を回避してください。

6. ファイルが終了しました例外: EOFException

プログラムが入力プロセス中にファイルまたはストリームの終わりに遭遇すると、例外がスローされます。したがって、この例外は、ファイルまたはストリームの終わりに到達したかどうかを確認するために使用されます

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

プログラムが次のことを試みたとき存在しないファイルを読み取り用に開く この例外は書き込み時にスローされます。この例外は、FileInputStream、FileOutputStream、および RandomAccessFile のコンストラクター宣言によってスローされます。操作対象のファイルが存在していても、読み取り専用ファイルを書き込み用に開くなどの何らかの理由でアクセスできない場合でも、これらの構築メソッドは例外をスローします。

8. 文字列を数値に変換するときの例外: NumberFormatException

文字列を指定された数値型に変換しようとしたときに、その文字列が数値型の要件を満たしていない場合この例外は、文字データ「123456」を数値データに変換する場合に発生します。

ただし、文字データに 123#56 などの数値以外の文字が含まれている場合は、数値型への変換時に例外が発生します。システムはこの例外をキャッチして処理します。

9. 指定されたクラスは存在しません: java.lang.ClassNotFoundException

ここで主に考慮すべき点は、クラスの名前とパスが正しいかどうかです。プログラムは文字列を介してクラスをロードするときに例外がスローされる可能性があります。例: Class.forName を呼び出す、または ClassLoad の finaSystemClass を呼び出す、または LoadClass;

10. インスタンス化例外: java.lang.InstantiationException

クラスを渡そうとするときnewInstance メソッドはクラスのインスタンスを作成しますが、プログラムはコンストラクターを通じてオブジェクトを作成できません。クラス オブジェクトは、抽象クラス、インターフェイス、配列クラス、基本型を表します。この Class によって表されるクラスには、対応するコンストラクターがありません。

Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル 列に注目してください。

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

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