ZJU-javaアドバンスドノート第7週(例外処理)

  1. 例外の定義
    ここに写真の説明を挿入

  2. キャッチ例外の例

try{
    
    
    //可能产生异常的代码
}catch(Type1 id1){
    
    
    //处理Type1异常的代码
}catch(Type2 id2){
    
    
    //处理Type2异常的代码
}catch(Type3 id3){
    
    
    //处理Type3异常的代码
        }

例外キャプチャの重要性:例外が発生したときにプログラムを終了する必要はありません
3。

  1. 異常物を捕まえた後の対応
  1. 文字列getMessage();
  2. 文字列toString();
  3. 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();//打印调用堆栈,显示调用关系及发生行号
        }
}

ただし、元に戻してはならず、特定の処理ロジックはビジネスロジックのニーズによって異なります。


  1. スロー例外をcatch {}にthrowe;(命令文、throw)を追加します。
    効果:キャッチされていないかのように

  2. 例外ステートメントは
    、例外をスローする可能性のある関数の後に配置されます。

    public static void readFile() throws OpenException{
    
    
        if(open() == -1){
    
    
            throw new OpenException();
        }
}
  1. 何を「捨てる」ことができますか?
    Throwableクラスを継承するオブジェクト
    ExceptionクラスはThrowableを継承します

  2. サブクラス例外のスローは、親例外キャッチャーによって
    キャッチできますユニバーサルキャッチャー-任意の例外をキャッチします

    catch(Exception e){
    
    
        System.out.println("Caught an exception");
}
  1. サブクラスには親クラスより多くの例外は
    ありませんが、親クラスコンストラクターがスローする例外はサブクラスコンストラクターにある必要があります

おすすめ

転載: blog.csdn.net/weixin_44997802/article/details/108572590