A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mr.Z.Lee 中级黑马   /  2013-11-4 13:23  /  3689 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Java中的error和exception有什么区别?

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

4 个回复

倒序浏览
可以简单的理解为,一个是严重的错误:error,另一个是非严重错误:Exception。Error类和Exception类都继续自Throwable类。
严重错误:Error,表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,程序员通过编程,或者程序自身已经搞不定这个问题了。比如内存溢出,蓝屏等等。
非严重的错误:Exception,表示需要捕捉或者需要程序进行处理的异常,可以由程序员通过修改代码解决,比如老毕说的,发霉的面包,在微波炉加热了再吃。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

上面是在Api中看到的解释,我理解的是,Error这个是一个不可处理的问题,即必须进行修改代码。而Exception这个是可以自己进行try()catch()的,可以自己进行处理,进行异常的更改。

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
error表示恢复不是不可能但是很困难的一种严重错误,比如内存溢出,程序是不可能处理的,
exception表示设计或实现问题,就是说如果程序运行正常,就不会发生的情况;

评分

参与人数 1黑马币 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
error一般指java中比较严重的错误,比如jvm内存错误等等,而exception则代表一般的的异常,它分为运行时异常和编译时异常。java是面向对象的语言,而当我们在程序中要想向调用者声明某个方法存在问题或异常时,通常就用exception来封装和描述,已告诉调用者要注意和处理。而这样的异常处理机制往往给调用者带来不必要的麻烦。所以我们在编写程序时应注意,该抛则抛,该try则try。(异常处理两种方式:一种直接在方法上用throws关键字抛出,另一种是用try{}catch(){}包围。)。

评分

参与人数 1技术分 +1 收起 理由
To + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马