異常監控和判斷

37201發表於2024-07-30

異常

1、異常

/* 錯誤error和異常exception
錯誤(會導致程式終止-要避免) 異常(儘量避免) 執行時異常-程式會捕獲、非執行(檢查型)異常
1、異常處理機制-丟擲異常 和 捕獲異常
2、程式中出現問題會停止,透過try catch finally監控丟擲程式就可以繼續執行;throw和throws是執行的時候判斷丟擲異常
3、自定義異常-使用Java內建的異常類就可以處理大量的異常了-要用再學吧
 */
package Exc;

public class A1 {
    public static void main(String[] args) {
        new A1().a1(1,0);
      System.out.println(a / b);
    }
        public void a1(int a, int b) {
           if (b == 0) {
               throw new ArithmeticException();//throw主動丟擲異常,一般在方法中使用
            }
        }
/*
  //假設在這方法 中 處理不了這個異常,方法上丟擲異常throws
          public void a1(int a, int b) throws ArithmeticException{
           if (b == 0) { 
               throw new ArithmeticException();//throw主動丟擲異常,一般在方法中使用
            }
        }
*/
}


/*
        //try catch finally連用 區域內一有異常就捕獲
        try {//監控區域
            System.out.println(a / b);
        } catch (ArithmeticException e) {//捕獲異常-引數是想要捕獲的異常型別-throwable最高階
            System.out.println("程式出現異常,變數b不能為0");
        } finally {//處理善後工作(可以不要)-處理完了才會去報錯
            System.out.println("finally");
        }
 */



/*
        int a = 1;
        int b = 0;
        //透過程式碼捕獲異常 try監控區域 catch捕獲異常 finally處理善後工作 Throwable(最高的捕獲異常語句)-Exception-Error
        //finally可以不要,但假設IO、資源需要關閉!

       try {//監控區域
            System.out.println(a/b);
            //捕獲多個異常 "要從小到大捕獲" ,否則會報錯
        } catch (Error e) {//(想要捕獲的異常型別)捕獲異常
            System.out.println("Error");
        } catch(Exception f){
            System.out.println("Exception");
        }catch(Throwable g){
            System.out.println("Throwable");
        }   finally {//處理善後工作
            System.out.println("finally");
        }
 */

2、快捷鍵處理

//快捷鍵生成,Control+Alt+T選擇生成程式碼
package Exc;

public class A2 {
    public static void main(String[] args) {
        int a=1;
        int b=0;
        try {
            System.out.println(a/b); //選中這行程式碼,Control+Alt+T選擇生成程式碼
        } catch (Exception e) {
            throw new RuntimeException(e);//列印錯誤棧資訊,control+左鍵去了解程式碼含義
        } finally {
        }
    }
}

相關文章