Java用戶自定義異常類(內含銀行管理系統源碼)

爲什麼要引用自定義異常呢?
當Java提供的內置異常不能滿足程序需要的時候,那就需要自定義異常
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
實例:
自定義一個異常,當人數爲負數的時候拋出異常

package yiChang;
//保證人數不能是負數,否則拋出異常
public class RenShu {
  public static void main(String[] args) {
   RenShu rs = new RenShu();//創建對象,方便調用
   try {
    rs.register(-8);
   } catch (MyException e) {
    // TODO 自動生成的 catch 塊
    e.printStackTrace();
   }
  }
  public void register (int num) throws MyException{//拋出自己定義的異常
   if(num<0)
    throw new MyException("---注意:人數不能夠小於0哦---");
   else
    System.out.println("登記人數爲:"+num);
  }
}
class MyException extends Exception{//自定義一個異常
 MyException(String message){
  super(message);//調用父類Exception的構造方法(Exception類的構造方法是由系統自動給出的)(也有相應的get、set方法)
 }
}

在這裏插入圖片描述

異常處理銀行管理系統

存款的時候是不會發生異常的,有可能發生異常的地方就是取錢的時候,當取錢的金額大於銀行卡中的餘額的時候就會出現異常

package jiCheng_duoTai;
//注意:對於異常的語句拋出的話不能直接寫在類中,應該寫到函數裏面
public class YinHangGuanLiXiTong_YiChang {
  public static void main(String[] args) throws MyException {//這裏處理取錢的異常是拋出,當然也可以用try-catch-finally語句塊處理異常
   count cc = new count(101,"李小白",5800);
   System.out.println(cc.toString());
   cc.save(200);//存錢
   System.out.println("存款成功,所剩餘額爲:"+cc.getBouns());
   cc.quMoney(5000);//取錢
   System.out.println("取款成功,所剩餘額爲:"+cc.getBouns());
   cc.quMoney(2000);//取錢
   System.out.println("取款成功,所剩餘額爲:"+cc.getBouns());
  }
}
class count{
 private int id;
 private String name;
 private double bouns;
 public count() {}
 public count(int id, String name, double bouns) {
  this.id = id;
  this.name = name;
  this.bouns = bouns;
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public double getBouns() {
  return bouns;
 }
 public void setBouns(double bouns) {
  this.bouns = bouns;
 }
 public double save(double money) {
  return bouns=bouns+money;
 }
 //注意:取款時有可能發生異常,因爲Java不是什麼異常都包含,所以自己定義一個異常
 public double quMoney(double money) throws MyException {//同時要拋出自己定義的異常
  if(bouns<money)
   throw new MyException("餘額不足,提取失敗");
  //此處的else可以省略的,因爲拋出異常的時候後面的語句不會執行
  return bouns=bouns-money;
 }
 public String toString(){
  return  name+"  "+id+"  "+bouns;
 }
}
class MyException extends Exception{
 public MyException(String s) {
  super(s);//注意:繼承了異常類,就可以調用異常類的構造方法
 }
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章