黑马程序员技术交流社区

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

作者: 梦幻精灵    时间: 2014-5-18 21:25
标题: error和exception有什么区别?
error和exception有什么区别?
作者: 墨香    时间: 2014-5-18 21:53
Error类和Exception类都继承自Throwable类。
Error的继承关系:
java.lang.Object
java.lang.Throwable
      java.lang.Error

Exception的继承关系:
java.lang.Object
        java.lang.Throwable
     java.lang.Exception
二者的不同之处:
Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)
2.表示一个由程序员导致的错误
3.应该在应用程序级被处理
Error:
1.总是不可控制的(unchecked)
2.经常用来用于表示系统错误或低层资源的错误
3.如何可能的话,应该在系统级被捕捉
Java 中定义了两类异常:
  1) Checked exception: 这类异常都是Exception的子类 。异常的向上抛出机制进行处理,假如子类可能产生A异常,那么在父类中也必须throws A异常。可能导致的问题:代码效率低,耦合度过高。
  2) Unchecked exception: 这类异常都是RuntimeException的子类,虽然RuntimeException同样也是Exception的子类,但是它们是非凡的,它们不能通过client code来试图解决,所以称为Unchecked exception 。

作者: zhrnghgwsws    时间: 2014-5-18 22:06
java 中对于问题的划分分为两种:1,严重的问题2,非严重的问题,对于严重的问题java通过Error类进行描述,对于非严重的问题,java通过Exception类进行描述。
Error:表示不可修复的问题。Exception:表示可以修复的问题。
无论是Error或Exception他们都有共性。
所以Throwable类是java语言中所以错误或异常的超类。它里面定义了这个体系里面的的共行内容,error和exception是它的子类。
Error:一般不编写针对性的代码进行处理。
Exception:可以使用针对性的处理方式进行处理。
作者: 927233671    时间: 2014-5-18 22:09
简而言之:
Error:错误
Exception:异常
作者: tc4892998    时间: 2014-5-18 23:07
ERROR不可控,
异常Exception可控
作者: 小小6456    时间: 2014-5-18 23:11
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
作者: 彭飞    时间: 2014-5-19 00:25
我记得老师是这样说的,

error 是错误,不可挽回的这种,

Exception 是异常,是可以处理的情况

两者比较,就好比说,电脑被烧掉了,和电脑系统出故障了,
前者是我们不能处理的, 而后者或多或少的能处理。

在Java中,

对error 的出现,是不需要代码编写进行处理
而Exception 就可以编写针对性的代码进行处理。   
作者: alax    时间: 2014-5-19 04:28
error都是继承自父类java.lang.Error,而exception都继承自java.lang.Exception
Error是Throwable的子类,用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的,就根本不该出现的
Exception 是Throwable的一种形式的子类,用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件,而非严重错误,并且鼓励用户程序去catch它
Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).

作者: 流沙    时间: 2014-5-19 06:26
简单一句话就可以,Error是你不可解决的异常,Exception是你可以解决的异常!




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