Java-异常处理

1.将可能引发异常的代码节放在 Try 块中,而将处理异常的代码放在 Catch 块中。

2.异常发生时,执行将终止,并且控制交给最近的异常处理程序。这通常意味着不执行希望总是调用的代码行。有些资源清理(如关闭文件)必须总是执行,即使有异常发生。为实现这一点,可以使用 Finally 块。Finally 块总是执行,不论是否有异常发生。

3.throws是方法可能抛出异常的声明。

  throw则是明确了这个地方要抛出这个异常。


public class DangerException extends Exception {  
    final String message="超重";  
    public String warnMess(){  
        return message;  
    }  
}




public class CargoBoat {
    int realContent;  
    int maxContent;  
    public void setMaxContent(int c){  
        maxContent=c;  
    }  
    public void loading(int m) throws DangerException{  
        realContent+=m;  
        if(realContent>maxContent){  
            realContent-=m;  
            throw new DangerException();  
        }  
        System.out.println("目前装载了"+realContent+"吨货物");  
    }
}




public class TestThrow {
    public static void main(String[] args) {  
        CargoBoat ship=new CargoBoat();  
        ship.setMaxContent(1000);  
        int m=600;  
        try{  
            ship.loading(m);  
            m=100;  
            ship.loading(m);  
            m=267;  
            ship.loading(m);  
            m=555;  
            ship.loading(m);  
        }  
        catch(DangerException e){  
            System.out.println(e.warnMess());  
            System.out.println("无法再装载的重量是"+m+"吨的集装箱");  
        }  
        finally{  
            System.out.println("货船将正点起航");  
        }  
  
    } 

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值