Java异常处理实验原理_Java异常处理原理与原则

一、Exception和Error的区别

在Java中我们可以这样区分,异常(Exception)是一种非程序原因的操作失败(Failure),而错误(Error)则意味着程序有缺陷(Bug)。

二、Java的类继承体系非常清楚地区分了Exception和Error

java.lang.Object

java.lang.Throwable

java.lang.Error

java.lang.Exception

一般情况下不应该尝试用catch(Throwable)或者catch(Error)去捕获Error。

三、声明异常和未声明异常的区别

1、从本质上将:在方法签名上声明的异常属于方法接口的一部分,它和方法的返回值处于同一抽象层次,不随具体实现的变化而改变。

在方法签名上声明要抛出的异常,属于这个方法接口层面的一种失败情况,简答的说就是,不管方法的内部采用什么实现,都必然存在方法内部产生方法签名上声明的异常的情况,所以这时把这个异常声明出来就非常合理。

2、下面有个相反的例子:

从帐户a向帐户b转账的transfer方法:

public boolean transfer(Account a, Account b, Money money) throws SQLException

它抛出SQLException就不对了,因为SQLException不属于这个transfer接口层面的概念,而属于具体实现,很有可能未来某个实现不用SQL了那么这个异常也就不存在了。这种情况下,就应该捕获SQLException,然后抛出自定义异常TransferException,其中TransferException可以

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值