演示---抛出异常
自定义异常 public class AmountUnableException extends Exception{ public AmountUnableException(String msg){ super(msg); } } |
模拟ATM机 Exception:存款的方法:需求:存款的金额必须在0-10000之间 public class ATM { private double banlance; public void deposit(double amount) throws AmountUnableException{ if (amount>0&&amount<=10000){ banlance+=amount; }else{ 抛出异常-1.在方法的声明处声明该方法抛出了异常 2.自己对该异常进行捕获处理 throw new Exception(); //自定义异常--存款金额不合理 throw new AmountUnableException("存款金额不合理!"); } } |
使用异常抛出: public static void main(String[] args) { ATM atm= new ATM(); double amount = 20000; try { atm.deposit(amount); } catch (AmountUnableException e) { System.out.println("存款失败,金额需要0-10000之间"); //扩充:异常对象中的常用方法 e.printStackTrace();//输出异常的堆栈信息 System.err.println(e.getMessage());//获取得到异常信息的描述返回值为字符串 } System.out.println("存款成功,余额为:"+atm.getBanlance()); } } |
传统方法: boolean flag = atm.deposit(amount); if (flag){ System.out.println("存款成功,存款的金额为:"+amount); }else{ System.out.println("存款失败,金额需要0-10000之间"); } |
结果: