exception和runtimeexception的区别,异常的转换,异常在运行过程中的分析

exception和runtimeexception的区别,异常的转换,异常在运行过程中的分析

1 exception和runtimeexception的区别分析

异常的超级父类是throwable,实现的2个子类是error和exception,error是错误类,这里不做分析。

Exception下面有众多子类,就是众多异常。Exception异常主要分为两个类型,一个是runtimeException和它的子类,还有一种就是除此之外的异常类。

先分析runtimeexception以及它的子类,这个类型的异常的特点是不必在方法中声明,调用者不需要知道异常的可能存在,也不必去处理异常。原因是这个类型的异常并不是由程序的功能不完善或者程序本身造成的异常,而是由程序员在调用程序时由于自己的操作而导致的异常的发生,比如:数组角标越界异常。程序员在运行完程序后,得知异常的提示,可以马上通过正确的调用去改正它。

除了runtimeexception以及它的子类以外的异常类,都需要在方法中声明,这类异常都是由于程序本身功能的不完善,需要提醒调用者可能会出现的异常,这样的异常怎么去处理会在异常的运行过程的分析中提到。

2异常的转换

异常的转换代码体现是在通过try catch语句捕获异常后并没有在catch的语句里处理该异常,而是继续以新的异常抛出,抛出的异常由原来的异常转换为另一种异常来等待处理。

代码:

Try{}catch(Exception e){throw new Exception(“这里是转换后的异常”)}

异常的转换通常用在这样的需求下:你去atm上取钱,发现钱出的少了,你打电话给银行,银行肯定不会立马来处理这个异常,这时,你需要把你的异常转换下,你打电话告诉银行,钱出的多了,银行会立马来处理这个异常。这个例子就是异常的转换。

3异常在运行过程中的分析

异常可以在方法中声明抛出,也可以在语句中抛出。

在语句中抛出异常,那么这个语句所在的方法就接到了这个异常,方法就有2个选择:继续抛出或者处理,抛出就在方法上抛出即可,处理的话用try,catch对抛出异常的语句处理即可。方法如果继续抛出,那么调用这个方法的调用语句所在的方法就会接住这个异常,调用者同样有上述的两个选择。如果最后的主方法也没有处理,那么异常就会体现在项目,作品上。

转载于:https://my.oschina.net/u/1589656/blog/228977

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值