java异常机制

java的异常处理机制是一项相当灵活的技术。也是java的特色。项目做的够不够出色,很大一部分取决于异常的处理。[color=red]如何自定义异常,是该try catch还是该throws[/color],这些都是我们该注意的方面。

java中的异常分为两大类,[color=red]强制性异常(CheckedException)和非强制性异常(UncheckedException)。[/color]而java中除了RuntimeException外,都是强制性异常。

强制性异常:所谓强制性异常就是在编写程序的过程中必需在抛出异常的部分try catch 或者向上throws异常。
非强制性异常:所谓非强制性异常就和上面相反了。不过你当然也可以try catch或者thows,只不过这不是强制性的。

[color=red]catch捕获异常实际上是对异常的一种补救[/color],之后还会执行下面的部分。例如
public static void main(String args[]) {
Test test = new Test();
// 调用输入数字的方法
test.enterNum();
System.out.println("终于运行到enterNum外面了");
}

public void errorHandle(int num) throws Exception {
// 当输入数字大于100
Exception exception = new Exception("数字大于100");
if (num > 100) {
throw exception;
}

}


代码中enterNum()是输入一个数字的方法启动调用了自定义的处理异常的方法并进行了trycatch。

打印出来是:
请输入数字:
435
您输入的数字有误,
终于运行到enterNum外面了

[color=red]可以看到,经过catch的补救程序就算出现了异常还是会继续运行下面的语句。
而如果不用try catch 一直throws至虚拟机,一旦出现异常,程序停止运行。

所以无论是uncheck 还是check异常,如果不捕获异常(当然check行是强制捕获异常),一担出现异常,虚拟机停止运行[/color]。

[color=blue][b]作为一位程序员,要尽可能多的想到编写的程序中可能出现的异常,哪些是可以补救的(进行try catch),在哪里补救(在哪里try catch),哪些是不能补救的(抛出异常至虚拟机或者定义该异常为RuntimeException)当出现异常时让程序停下来。[/b][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值