異常な
すべての例外に対してスロー可能なスーパークラス
エラー、重大な問題は処理されない
例外、例外クラス、プログラム自体が処理できるRuntimeException、ランタイム例外、コンパイラによって処理されません。問題がある場合は、戻ってコードを変更してください。
Non-RuntimeException、コンパイル時例外。コンパイラが処理する必要があります。そうでない場合、プログラムはコンパイルできません。
JVM の例外のデフォルト処理スキーム
プログラム例外の名前、理由、場所がコンソールに出力されます。
2 つの例外処理メソッド try catch、throw
1、トライキャッチ
フォーマット
try { 例外を引き起こす可能性のあるコード} catch (例外クラスのオブジェクト名) { 例外クラスのアクション コードを処理します。}
処理方法: try のプログラムの実行中に例外が発生し、catch の例外クラスが同じ場合、システムは catch に従ってそれを処理し、実行を続行できます。
2、投げる
フォーマット:
例外の場所 + 例外クラス名をスローします。
処理方法: コンパイル時例外は一時的に処理できず、後で関数使用時に処理され、実行をスキップできません。
投擲可能
Throwable はすべての例外のスーパークラスであり、ここのメンバー メソッドはすべての例外クラスで使用できます。
このうち、printStackTrack() のメンバー メソッドによって出力される例外情報が最も完全であり、通常はこのメソッドが直接呼び出されます。
カスタム例外
Exceptionを継承したクラスを作成し、カスタム例外クラスを作成できます
プログラム内で設定された例外が発生した場合、メソッド本体宣言の後にthrows+例外クラス名を使用し、メソッド本体内で例外オブジェクトをthrowします コード
例
public void checkScore(int score) throws ScoreException(){
if(score<0 || score>100){
throw new scoreException();
}else
{
System.out.println("分数正常");
}
}