请对比Exception和Error有什么区别?

面试一般是这样问:运行时异常与一般异常有什么区别?

简单点来讲就是:运行时异常可以不处理,一般异常必须处理。

运行时异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。

一般异常,JAVA编译器强制要求用户必需对出现的这些异常进行catch并处理,否则程序就不能编译通过。

不同点:

1.从继承来讲,Exception 和 Error都继承自Throwable类。

2.Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类。

Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

Error 是指在正常情况下,不大可能出现的情况,绝大部分的 Error 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态。


   转载请注明


《请对比Exception和Error有什么区别?》 by chen guoji under cc_by_name licensed
 上一篇
谈谈final、finally、finalize有什么不同? 谈谈final、finally、finalize有什么不同?
初级程序猿面试一般会问的问题。 可以按照以下回答: 1. final 可以用来修饰类、方法、变量。分别有不同的意义: final 修饰的 class 代表不可以继承扩展 final 的变量是不可以修改的 final 的方法也是不可以重
2019-03-23
下一篇 
关于 关于
关于博主博主是一名Java码农。 虽然还未走上人生巅峰,但是一直保持着一个码农的自我修养。 用一句话概括博主:每天瞎逼忙,还没赚到钱。 但是博主有一颗分享技术的心,我会尽量用通俗易懂的方式,分享个人的知识。 博客的宗旨就是分享知识,分享技术
2019-03-21
  目录