第五十八条 对可恢复的情况使用受检异常,对编程错误使用运行时异常


对于异常,我们知道,基类为 Throwable,它有两个子类,Exception 和 Error,Exception 通常被称为异常, Error被称为错误。Exception异常又分为两种,一种是受检异常(checkedexception) ,另一种是运行时异常(runtime exception) 。在决定使用受检异常或运行异常时,主要原则: 如果期望调用者能够是当地恢复,对于这种情况就应该使用受检异常。通过抛出受检异常,在catch 中对该处进行异常处理,然后继续往下面走逻辑。因此,方法中抛出每个受检异常,都是对用户的一种提示:这是一种可能的结果。运行时异常和错误,它们都是不需要也不应该被捕获的可抛出结构,如果抛出这方面异常,往往就属于不可恢复的情形,继续执行下去有害无益,如果程序没有捕获,则程序可能停止,并出现错误消息。运行时异常表明编程错误,它标识着用户违反了api的使用规则,例如,数组越界异常,表明数组下标值必须在零和数组长度减1之间,空指针异常表明对象不能为空。

使用异常的原则: 
一、 如果希望使用者能够适当地恢复代码逻辑,则使用受检的异常。 
二、 用运行时异常来检查和防范并标明编码有错误。 
三、 如果不确定是否有可能恢复,则使用未受检异常。
 

猜你喜欢

转载自blog.csdn.net/Deaht_Huimie/article/details/83784250
今日推荐