Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501610
  • 博文数量: 161
  • 博客积分: 2250
  • 博客等级: 大尉
  • 技术积分: 1601
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 18:58
文章分类

全部博文(161)

文章存档

2017年(2)

2015年(44)

2012年(1)

2011年(35)

2010年(10)

2009年(9)

2008年(5)

2007年(55)

我的朋友

分类: Java

2015-02-11 13:54:08

Error类和Exception类都继承自Throwable类。

  • Error的继承关系:

java.lang.Object 
 java.lang.Throwable
      java.lang.Error

 

  • Exception的继承关系:

java.lang.Object
java.lang.Throwable
     java.lang.Exception

  • Exception是java中所有异常的基类。在java中异常被分为两大类,编译时异常和运行时异常。
    1. 编译时异常是由于外在条件不满足而引发的,比如程序视图打开一个并不存在的远程Socket端口。这种异常是可预知的。编译器强制要求对编译时异常进行捕获或声明。
    2. 运行时异常往往是系统错误,比如数组下标越界等。通常我们可以不做处理,系统会把它们交给缺省的异常处理程序。有人说在运行时异常出现后,异常会被一层层向上抛直到找到处理代码,如果我们没有处理运行时异常,异常会被抛到最上层然后抛出,从而导致最上层程序或线程退出。


在java中,异常功能是通过实现比如Throwable,Exception,RuntimeException之类的类,然后还有一些处理异常时候的关键字,比如throw,throws,try,catch,finally之类的。 所有的异常都是通过Throwable衍生出来的。Throwable把错误进一步划分为 java.lang.Exception 和 java.lang.Error.  java.lang.Error 用来处理系统错误,例如java.lang.StackOverFlowError 或者 Java.lang.OutOfMemoryError 之类的。然后 Exception用来处理程序错误,请求的资源不可用等等。

参考

阅读(363) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~