武海军的gravatar头像
武海军 2016-10-23 18:02:50
java Exception异常体系结构简述

首先异常是程序在运行时出现的错误,java把异常当做对象来处理 ,并定义了一个基类 java.lang.Throwable,作为所有异常的超类,在Java API中定义了许多异常类,分为两大类,错误Error和异常Exception。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常(非runtimeException),也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。  

1、Error与Exception

      Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。

      这些异常发生时,Java虚拟机(JVM)一般会选择线程终止       

      Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常。程序中应当尽可能去处理这些异常。

 

2、运行时异常和非运行时异常     

           运行时异常: 都是RuntimeException类及其子类异常:                                           IndexOutOfBoundsException 索引越界异常

                 ArithmeticException:数学计算异常

                 NullPointerException:空指针异常

                 ArrayOutOfBoundsException:数组索引越界异常

                 ClassNotFoundException:类文件未找到异常

                 ClassCastException:造型异常(类型转换异常)

                

      这些异常是不检查异常(Unchecked Exception),程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的。

                

      非运行时异常:是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如:

                 IOException、文件读写异常

                 FileNotFoundException:文件未找到异常

                EOFException:读写文件尾异常

                 MalformedURLException:URL格式错误异常

                 SocketException:Socket异常

                 SQLException:SQL数据库异常


打赏
最近浏览
xtx1213300387  LV2 2018年8月12日
aa985405715  LV3 2018年1月10日
203778513  LV9 2017年9月13日
zz123zz  LV1 2017年4月17日
小横子  LV1 2017年2月6日
ghellpatter  LV8 2016年12月2日
马丁zpqy  LV9 2016年11月26日
qawqaw  LV16 2016年11月20日
18398552974  LV2 2016年11月16日
best2018  LV46 2016年11月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友