java try throws_java---try和throws异常总结

什么是异常?

异常是对问题的描述,将问题对象进行封装成一个对象.

异常的体系

Throwable

|—–Error

|—–Exception

|—–RuntimeException

特点:异常体系中的所有类以及建立的对象都具备可抛性.也就是说可以被throw和throws关键字所操作,只有异常类体系具备这个特点,

throw和throws的用法

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

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

当函数内容有throw抛出异常对象,并未进行try处理,必须要在函数上声明,否则编译报错.当然RuntimeException除外,也就是说,函数内如果抛出RuntimeException异常,函数上不需要声明.

异常的处理

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

异常有两种:

编译时被检测异常

该异常在编译时,如果没有处理(没有抛出也没有try),编译失败

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

在编译时不需要处理,编译器不检查

该异常发生,建议不处理,让程序停止,需要对代码进行修正.

异常处理格式:

try{

//需要被检测的代码

}

catch(){

//处理异常的代码

}

finally{

//一定会执行的代码

}

注意:

1.finally中定义的通常是 关闭资源代码,因为资源必须释放

2.finally只有一种情况不会执行,当程序在finally之前强行停止,也就是System,exit(0)

自定义异常:

定义类继承Exception或者RuntimeException

1.为了让该自定义类具有可抛性

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

当要定义的自定义异常信息时,可以使用父类已经定义好的功能.异常信息传递给父类的构造函数.

class MyException extends Exception

{

MyException(String message){

super(message);

}

}

自定义异常:按照java面向对象的思想,将程序中出现的特有问题进行封装.

异常的处理原则

1.调用到抛出异常的功能时,抛出几个就处理几个.也就是一个try对应多个catch

2.多个catch情况下,父类的catch放到最下面,以免覆盖异常

3.catch内需要定义针对性的处理方式,不要简单的定义输出语句,也不要不写,这是良好的代码习惯

异常的注意事项

在子父类覆盖时:

1.子类抛出的异常必须是父类的异常的子类或者子集

2.如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try,不能抛出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值