异常处理2

Posted 鱼在我这里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理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(double cunkuan)
    {
        this.balance+=cunkuan;
        System.out.println("您存了"+cunkuan+"元,当前余额为:"+this.balance);
    }
    
    void withDrawal(double dAmount) throws Exception
    {
        
        if(dAmount>this.balance)
        {
            throw new InsufficientFundsException();
        }
        
        if(dAmount<0)
        {
            throw new NagativeFundsException();
        }
        this.balance-=dAmount;
        System.out.println("您取了"+dAmount+"元,当前余额为:"+this.balance);
    }
    
    public static void main(String args[]) 
    {
        Bank bb=new Bank(100);
        
        
            try {
                bb.withDrawal(23);
            } catch (Exception e1) {
                // TODO 自动生成的 catch 块
                e1.printStackTrace();
            }
        
        //取款金额为负
            try {
                bb.withDrawal(-6);
            } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            
        //取款金额大于存款
        
            try {
                bb.withDrawal(150);
            } catch (Exception e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
                
            
        
            
    }
    
    
    

}
package exception;

public class InsufficientFundsException extends Exception {

    @Override
    public String getMessage() {
        // TODO 自动生成的方法存根
        return "余额不足";
    }

    
    
}
package exception;

public class NagativeFundsException extends Exception {

    @Override
    public String getMessage() {
        // TODO 自动生成的方法存根
        return "取款额不能为负";
    }

    
    
    
}

运行结果:

以上是关于异常处理2的主要内容,如果未能解决你的问题,请参考以下文章

PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段

使用片段中的处理程序时出现非法状态异常

java 反射代码片段

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

在tablayout片段之间进行通信[重复]