Java基础笔记-第七记


java 异常-try

异常: 对问题的描述,将问题进行对象的封装

异常的好处 :

1、将问题进行封装

2、将正常流程代码和问题处理代码相分离,方便于阅读


异常体系中的特点:异常体系中的所有类以及建立的对象都具备可抛性

    也就是说可以被throw 和 throws 关键字所操作


throw 和 throws 的用法:

throw 定义在函数内,用于抛出异常对象

throws 定义在函数上,用于招聘异常类,可以抛出多个异常,并用逗号隔开


当函数内容有throw 抛出异常对象,并未进行try处理,必须要在函数上声明,否则在编译上会失败

注意: RuntimeException 除外,函数内如果抛出的RuntimException ,函数上可以不声明


如果函数声明了异常,调用者需要进行处理,处理方法可以throws ,也可以 try


异常有两种 :

编译时被检测异常

运行时异常(编译时不检测)


自定义异常:

定义类继承Exception或者RuntimeException

1、为了让该自定义类具备可抛性

2、让该类具备操作异常的共性方法


当要定义自定义导演的信息时,可以使用父类已经定义好的功能

异常信息传递给父类的构造函数





捕获异常的格式有:

第一个格式

try { } 

catch() {}


第二个格式

try { }

catch(){ }

finall { }


第三个格式

try{ }

finally { }


注意:

1、这三个语句块都不能单独使用

2、 finally{ }  语句块中的语句是无论如何都会被执行

如: 

public int  add() 

{

try {

int num = 100 + 100;

return num;

}

catch(Exception e) {

}

finally{   //  放在finally 中的语句块会被执行,即使在try语句块中写了 return  ,仍然会执行 finally 中的语句

System.out.println("我这一句代码肯定会被执行");

}

}


// 异常在子父类覆盖中的体现

1、子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只抛出父类的异常或者该异常的子类

2、如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集

3、如果父类或者接口的方法中没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常

4、如果子类方法发生了异常,就必须要进行try处理,绝对不能抛


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值