Java編寫簡單的自定義異常類

原文:http://www.jb51.net/article/94016.htm
異常關鍵字
1:try catch
try catch是這之間所包含的代碼如果出現異常時捕獲他,並進行處理的,如果代碼之間有錯誤,不會影響程序繼續執行下去,程序會繼續往後執行。
2:throw
是在程序中明確拋出引發的異常,比如throw new Exception();
3:throws
表明方法可能會引發異常,在方法內部並不處理這個異常,想要得到異常的話,調用者使用try catch語句即可得到
4:finally
不管有沒有異常程序段中都會被執行的代碼
一:自定義異常類:

//或者繼承RuntimeException(運行時異常) 
public class MyException extends Exception { 
 
  private static final long serialVersionUID = 1L; 
 
  // 提供無參數的構造方法
  public MyException() { 
  } 
 
  // 提供一個有參數的構造方法,可自動生成
  public MyException(String message) { 
    super(message);// 把參數傳遞給Throwable的帶String參數的構造方法 
  } 
 
} 

二:寫一個測試分數的方法類:這裏面是拋出一個自己寫的異常類

public class CheckScore { 
 
  // 檢查分數合法性的方法check() 如果定義的是運行時異常就不用拋異常了 
  public void check(int score) throws MyException {// 拋出自己的異常類 
    if (score > 120 || score < 0) { 
      // 分數不合法時拋出異常 
      throw new MyException("分數不合法,分數應該是0--120之間");// new一個自己的異常類 
    } else { 
      System.out.println("分數合法,你的分數是" + score); 
    } 
  } 
} 

三:寫一個測試分數,如果有異常,要捕獲,不要拋出了

import java.util.Scanner; 
 
/* 
 * 自定義的異常測試類 
 */ 
public class Student { 
  public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    int score = sc.nextInt(); 
 
    CheckScore check = new CheckScore(); 
    try { 
      check.check(score); 
    } catch (MyException e) {// 用自己的異常類來捕獲異常 
      e.printStackTrace(); 
    } 
  } 
 
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章