黑马程序员技术交流社区

标题: Java中的error和exception有什么区别? [打印本页]

作者: Mr.Z.Lee    时间: 2013-11-4 13:23
标题: Java中的error和exception有什么区别?
Java中的error和exception有什么区别?

作者: Gump    时间: 2013-11-4 14:17
可以简单的理解为,一个是严重的错误:error,另一个是非严重错误:Exception。Error类和Exception类都继续自Throwable类。
严重错误:Error,表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,程序员通过编程,或者程序自身已经搞不定这个问题了。比如内存溢出,蓝屏等等。
非严重的错误:Exception,表示需要捕捉或者需要程序进行处理的异常,可以由程序员通过修改代码解决,比如老毕说的,发霉的面包,在微波炉加热了再吃。
作者: 回天之力    时间: 2013-11-4 14:20
Error 是 Throwable 的子类,用于指示合理的应用程序不应该试图捕获的严重问题。
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件。

上面是在Api中看到的解释,我理解的是,Error这个是一个不可处理的问题,即必须进行修改代码。而Exception这个是可以自己进行try()catch()的,可以自己进行处理,进行异常的更改。
作者: ciowok    时间: 2013-11-4 14:22
error表示恢复不是不可能但是很困难的一种严重错误,比如内存溢出,程序是不可能处理的,
exception表示设计或实现问题,就是说如果程序运行正常,就不会发生的情况;
作者: ↘ふ紫铯幽夢    时间: 2013-11-4 15:00
error一般指java中比较严重的错误,比如jvm内存错误等等,而exception则代表一般的的异常,它分为运行时异常和编译时异常。java是面向对象的语言,而当我们在程序中要想向调用者声明某个方法存在问题或异常时,通常就用exception来封装和描述,已告诉调用者要注意和处理。而这样的异常处理机制往往给调用者带来不必要的麻烦。所以我们在编写程序时应注意,该抛则抛,该try则try。(异常处理两种方式:一种直接在方法上用throws关键字抛出,另一种是用try{}catch(){}包围。)。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2