-
例外の定義
-
キャッチ例外の例
try{
//可能产生异常的代码
}catch(Type1 id1){
//处理Type1异常的代码
}catch(Type2 id2){
//处理Type2异常的代码
}catch(Type3 id3){
//处理Type3异常的代码
}
例外キャプチャの重要性:例外が発生したときにプログラムを終了する必要はありません
3。
- 異常物を捕まえた後の対応
- 文字列getMessage();
- 文字列toString();
- void printStackTrace();
例
public static void main(String[] args){
try {
k();
}catch (ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());//放在异常对象里面的值
System.out.println(e);//异常类的名字和它的message
e.printStackTrace();//打印调用堆栈,显示调用关系及发生行号
}
}
ただし、元に戻してはならず、特定の処理ロジックはビジネスロジックのニーズによって異なります。
-
スロー例外をcatch {}にthrowe;(命令文、throw)を追加します。
効果:キャッチされていないかのように -
例外ステートメントは
、例外をスローする可能性のある関数の後に配置されます。
public static void readFile() throws OpenException{
if(open() == -1){
throw new OpenException();
}
}
-
何を「捨てる」ことができますか?
Throwableクラスを継承するオブジェクト
ExceptionクラスはThrowableを継承します -
サブクラス例外のスローは、親例外キャッチャーによって
キャッチできますユニバーサルキャッチャー-任意の例外をキャッチします
catch(Exception e){
System.out.println("Caught an exception");
}
- サブクラスには親クラスより多くの例外は
ありませんが、親クラスコンストラクターがスローする例外はサブクラスコンストラクターにある必要があります