JAVA学习笔记(四) 软件构造

异常

1.异常机制:最大的好处就是清晰地分开了正常的业务逻辑代码和遇到情况时的处理代码
典型的try-catch块可用于捕捉异常并进行异常情况的处理

try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }

多重捕获

try{
   // 程序代码
}catch(异常类型1 异常的变量名1){
  // 程序代码
}catch(异常类型2 异常的变量名2){
  // 程序代码
}catch(异常类型2 异常的变量名2){
  // 程序代码
}

2.异常的抛出与声明:

声明:如果你的函数可能抛出异常,就必须声明
你可以声明,但可以不真的抛出

void f() throws XXX,XXX,XXX{

}

3.如果你要调用一个声明了可能抛出异常的函数,那么必须
1)把函数的调用放在try块里,并设置catch来捕捉所有可能抛出的异常
2)或者声明自己可能会抛出无法处理的异常

什么能抛?
1)任何继承了Throwable类的对象
2)Exception类继承了Throwable类

throw new Exception();
throw new Exception("HELP");

4.异常捕捉时的匹配

catch按书写顺序依次匹配,先匹配到就不再找其他catch
而且,抛出子类异常会被捕捉父类异常的catch捕捉到

5.捕捉任何异常的代码

catch(Exception e) {
System.err.println("Caught an exception");
}

6.异常声明遇到继承关系
1)当覆盖一个函数的时候,子类不能声明抛出比父类版本更多的异常
2)在子类的构造函数中,必须声明父类可能抛出的全部异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值