异常

异常(Exception)

所有异常都是继承于Throwable的一个实例。

异常:

所有异常直接或间接继承Exception类

分类:

UncheckedException:运行时异常(Runtime Exception):写完程序后编译不会报错,所以你可以处理,也可以不处理。所有的运行时异常都直接或间接的继承RuntimeException类。

Checked Exception:非运行时异常(非 Runtime Exception):写完程序后编译会报错,必须对其做处理。处理一:try…..catch….finally。处理二:在调用该会产生异常的的方法处声明:throws Exception.

异常处理结构:

try{

出现异常的语句;

}

catch(Exception e)

{

捕获出现的异常;

}

finally{

总是会执行此代码块,可以省略;

}

1、重写的方法不能抛出与被重写的方法不同的异常。

2、Catch语句块中异常的父类不能放在最前面。子类应该放在最前面。

例如:catch(Exception e){

}catch(IOException e){

}错误,因为父类Exception 已经捕获,所以IOException会报错。

我们应该这样写:

catch(IOException e){

}catch(Exception e){

}

3、一般不在底层代码处理异常:因为编写代码写程序是服务于人们,出现异常应该与界面相关,方便用户更好运用软件。

4、自定义异常:例如我们程序定义一个整形的变量age,我们知道生活中年龄的值不可能为400,而java中异常中也没有年龄超出范围异常,这时候需要我们自己定义一个异常。

例如:自定义AgeBoundException

public class AgeBoundException extends Exception {

publicAgeBoundException(String msg){

super(msg);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值