新闻资讯

新闻资讯 产品更新

Java中的异常:Error和Exception的分类层次

编辑:admin     时间:2014-12-14
Java中的异常:Error和Exception的分类层次

Java中的异常

Error和Exception的分类层次


Throwable 可抛出的, 是错误的跟, 包含异常类的实现代码


|--Error 是系统不可恢复的错误,由JVM发生


| |--OutOfMemoryError 堆内存溢出


| |--StackOverflowError 栈内存溢出


|--Exception 程序可以检查处理的异常,常见的异常继承根


|--java.text.ParseException format解析对象时候发生


| 如:Date d = dateformat.parse("2010-5-5");


|--RuntimeException 非检查异常,Javac忽略对


| 这类异常的语法检查,如:异常抛出,异常处理等。


|--IllegalArgumentException


|--NullPointerException *


|--ArrayIndexOutOfBoundsException *


|--ClassCastException *


|--NumberFormatException * Integer.parseInt(S)


异常是指java程序运行时(非编译)所发生的非正常情况或错误,可以用一个对象来表示,Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象来表示的,该对象中包含有异常的信息。


Java对异常进行了分类,不同类型的异常分别用不同的Java类表示,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error和Exception。


Error 表示应用程序本身无法克服和恢复的一种严重问题,程序只有死的份了,例如,说内存溢出和线程死锁等系统问题。


Exception表示程序还能够克服和恢复的问题,其中又分为系统异常和普通异常。


系统异常是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉,例如,数组下标越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException);


普通异常是运行环境的变化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够,发生这样的异常后,程序不应该死掉。


java为系统异常和普通异常提供了不同的解决方案,编译器强制普通异常必须try..catch处理或用throws声明继续抛给上层调用方法处理,所以普通异常也称为checked异常,而系统异常可以处理也可以不处理,所以,编译器不强制用try..catch处理或用throws声明,所以系统异常也称为unchecked异常。
我们在通过不间断地学习,才能获取真正的知识,从来不满足现在所拥有的知识,不断进取是根本,在编程的世界里也是这样,我喜欢获得新的知识,为获得新的知识兴奋,希望你也是一样,学无止境!!!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐