码迷,mamicode.com
首页 > 其他好文 > 详细

error和exception有什么区别?

时间:2019-08-26 15:18:14      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:null   check   源代码   运行时   rda   point   mamicode   错误   运行   

Exception Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。

Exception Error 体现了 Java 平台设计者对不同异常情况的分类。Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

Error 是指在正常情况下,不大可能出现的情况,绝大部分的 Error 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如 OutOfMemoryError 之类,都是 Error 的子类。

Exception 又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源代码里必须显式地进行捕获处理,这是编译期检查的一部分。前面我介绍的不可查的 Error,是 Throwable 不是 Exception

不检查异常就是所谓的运行时异常,类似 NullPointerExceptionArrayIndexOutOfBoundsException 之类,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译期强制要求。

追问:你了解哪些 ErrorException 或者 RuntimeException

技术图片

其中有些子类型,最好重点理解一下,比如 NoClassDefFoundError ClassNotFoundException 有什么区别,这也是个经典的入门题目。

 

error和exception有什么区别?

标签:null   check   源代码   运行时   rda   point   mamicode   错误   运行   

原文地址:https://www.cnblogs.com/ldddd/p/11412306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!