[AVA]異常と異常類
2039 ワード
エラーは、JVMの実行に問題が発生したことを意味します.そのため、JVM上で実行されるプログラムがどんなに堅牢になっても、最終的には実行できません.開発者はこれらのエラーに全く対応できません.
しかしながら、これらのエラーに加えてexceptionというエラーが存在する.
異常はプログラム終了時のエラーと同じです.しかし、exceptionは、exception処理によってプログラムを終了するのではなく、プログラムを正常に動作させることができる.
ソースhttps://www.nextree.co.kr/p3239]
Exceptionには2種類あります.1つは通常異常(exception)、もう1つは運転異常(runtimeexception)です.一般的な例外は、Javaソースコードをコンパイルするときに例外処理コードが必要かどうかをチェックするため、コンパイラチェック例外と呼ばれます.例外処理コードがない場合、コンパイルエラーが発生します.開発中にcatch文を試みなかった場合、このようなコンパイルエラーが発生します.
実行例外とは、コンパイル中に例外処理をチェックしないエラーです.これはコンパイル時に異常処理の違いをチェックするだけで,実際には2つの異常とも異常処理を行う必要がある.Javaは例外をクラスとして管理します.プログラムの実行中に例外が発生した場合、JVMは例外クラスを使用してオブジェクトを作成します.その後、例外処理コードで例外オブジェクトを使用できます.すべての例外クラスはjavaを使用します.以下に示します.lang.Exceptionクラス継承.
通常の例外と例外クラスを区別する方法は、通常の例外はExceptionを継承しますが、Runtime exceptionは継承しないクラスであり、実行異常はRuntime exceptionを継承します.次のようになります.Runtime exceptionもexceptionを継承しますが、JVMはRuntime exceptionを継承するかどうかを確認し、実行異常を判断します.
実行例外
しかしながら、これらのエラーに加えてexceptionというエラーが存在する.
異常はプログラム終了時のエラーと同じです.しかし、exceptionは、exception処理によってプログラムを終了するのではなく、プログラムを正常に動作させることができる.
ソースhttps://www.nextree.co.kr/p3239]
Exceptionには2種類あります.1つは通常異常(exception)、もう1つは運転異常(runtimeexception)です.一般的な例外は、Javaソースコードをコンパイルするときに例外処理コードが必要かどうかをチェックするため、コンパイラチェック例外と呼ばれます.例外処理コードがない場合、コンパイルエラーが発生します.開発中にcatch文を試みなかった場合、このようなコンパイルエラーが発生します.
実行例外とは、コンパイル中に例外処理をチェックしないエラーです.これはコンパイル時に異常処理の違いをチェックするだけで,実際には2つの異常とも異常処理を行う必要がある.Javaは例外をクラスとして管理します.プログラムの実行中に例外が発生した場合、JVMは例外クラスを使用してオブジェクトを作成します.その後、例外処理コードで例外オブジェクトを使用できます.すべての例外クラスはjavaを使用します.以下に示します.lang.Exceptionクラス継承.
通常の例外と例外クラスを区別する方法は、通常の例外はExceptionを継承しますが、Runtime exceptionは継承しないクラスであり、実行異常はRuntime exceptionを継承します.次のようになります.Runtime exceptionもexceptionを継承しますが、JVMはRuntime exceptionを継承するかどうかを確認し、実行異常を判断します.
実行例外
次に、どのような実行異常があるかを見てみましょう.
NullPointException
Javaプログラムで最も一般的な実行異常.これは、オブジェクト参照のない状態、すなわち空の値を持つ参照変数であるオブジェクトアクセス演算子ポイントです.使用時に発生します.
👀 オブジェクトは存在しません.オブジェクトを使用しようとしたときに発生する例外です.
ArrayIndexOutOfBoundsException
配列内のインデックス範囲外の使用時に発生する実行異常.配列長は3で、4番目のインデックスにアクセスしようとしたときに発生します.
NumberFormatException
プログラムを開発するとき、文字列データを数値に変更することがよくあります.文字列を数値に変換する方法はいくつかありますが、最も一般的なコードは次のとおりです.
Integer.parseInt(String s)
Double.parseDouble(String s)
ただし、文字列では「100」は変換できません.このような状況が発生します.
ClassCastException
タイプ変換は、親クラスと子クラス、実装クラスとインタフェースの間で発生します.この関係でない場合、クラスは他のクラスに変換できません.
Animal animal = new Dog();
Cat cat = (Cat) animal;
タイプを変換する場合は、エラーが発生します.
したがって、instanceofは以下のように使用できます.Animal animal = new Dog();
Cat cat = (Cat) animal;
Animal animal = new Dog();
if(animal instanceof Dog){
Dog dog = (Dog) animal;
}
else if(animal instanceof Cat){
Cat cat = (Cat) animal;
}
}
Reference
この問題について([AVA]異常と異常類), 我々は、より多くの情報をここで見つけました
https://velog.io/@minjoon1324/JAVA-예외와-예외-클래스
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Animal animal = new Dog();
Cat cat = (Cat) animal;
Animal animal = new Dog();
if(animal instanceof Dog){
Dog dog = (Dog) animal;
}
else if(animal instanceof Cat){
Cat cat = (Cat) animal;
}
}
Reference
この問題について([AVA]異常と異常類), 我々は、より多くの情報をここで見つけました https://velog.io/@minjoon1324/JAVA-예외와-예외-클래스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol