• Java 异常处理——2


    建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),

    当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,

    当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

    package exception;
    
    public class Bank {
    //	中有变量double balance表示存款,
    //	Bank类的构造方法能增加存款,
    //	Bank类中有取款的发方法withDrawal(double dAmount),
    //	当取款的数额大于存款时,抛出InsufficientFundsException,
    //	取款数额为负数,抛出NagativeFundsException,
    	double balance;
    
    	public double getBalance() {
    		return balance;
    	}
    
    	public void setBalance(double balance) {
    		this.balance = balance;
    	}
    
    	public Bank(double balance)
    	{
    		System.out.println("存款金额为:"+(balance)); 
    	}
    	public void withDrawal(double dAmount)
    	{
    		if(dAmount>balance)
    		{
    			try {
    				throw new InsufficientFundsException();
    			    }
    			catch (InsufficientFundsException e) 
    			{
    				e.printStackTrace();
    			}
    			
    		}
    		if(dAmount<0)
    		{
    			try {
    				throw new NagativeFundsException();
    			} catch (NagativeFundsException e) {
    				
    				e.printStackTrace();
    			}
    			
    		}
    		
    	}
    }
    
    package exception;
    
    public class InsufficientFundsException extends Exception {
    
    	@Override
    	public String getMessage() {
    		
    		return "存款余额不足!";
    	}
    	
    	
    	
    
    }
    
    package exception;
    
    public class NagativeFundsException extends Exception {
    
    	@Override
    	public String getMessage() {
    		
    		return "取款数额不能为负数!";
    	}
    
    }
    
    package exception;
    
    public class test {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    //		new Bank(100),表示存入银行100元,
    //		当用方法withdrawal(150),
    //		withdrawal(-15)时会抛出自定义异常
    		Bank b=new Bank(100);
    		
    		b.withDrawal(150);
    		b.withDrawal(-15);
    		
    
    	}
    
    }
    

     

  • 相关阅读:
    基于maven的javaweb项目模块化开发
    ramoops具体失败原因来解释驱动寄存器
    REQIMPORT-购买内部应用程序(R12.2.3)
    iOS_动态插入或删除行
    leetcode:pascal&#39;s_triangle_II
    设计模式-----观察者模式(Obsever)
    org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie
    Unity3D-RPG项目实战(1):发动机的特殊文件夹
    NYOJ 372 巧克力的
    LeetCode Solutions : Reorder List
  • 原文地址:https://www.cnblogs.com/jakeasd/p/5537853.html
Copyright © 2020-2023  润新知