《JAVA异常解读_0.docx》由会员分享,可在线阅读,更多相关《JAVA异常解读_0.docx(3页珍藏版)》请在优知文库上搜索。
1、JAVA异样解读一、异样的概念和Java异样体系结构Java把异样当作对象来处理,并定义一个基类java.lang.Throwable作为全部异样的超类。在JaVaAPl中已经定义了很多异样类,这些异样类分为两大类,错误Error和异样ExceptionThorwable类全部异样和错误的超类,有两个了,类Error和Exception,分别表示错误和异样。其中异样类Exception又分为运行时异样(RuntimeException)和非运行时异样,也称之为不检查异样(UncheckedException)和检查异样(CheckedException)。Error是程序无法处理的错误,比如O
2、utOfMemoryErrorThreadDeath等。这些异样发生时,JaVa虚拟机(JVM)一般会选择线程终止。Exception是程序本身可以处理的异样,这种异样分两大类运行时异样和非运行时异样。程序中应当尽可能去处理这些异样。运行时异样都是RuntimeException类及其子类异样,如NulirointerException、1ndexutOfBoundsException等,这些异样是不检查异样,程序中可以选择捕获处理,也可以不处理。这些异样一般是由程序逻辑错误引起的,程序应当从逻辑角度尽可能避开这类异样的发生O非运行时异样是RuntimeException以外的异样,类型上都属
3、于EXCePtiOn类及其子类。从程序语法角度讲是必需进行处理的异样,假如不处理,程序就不能编译通过。如IOException、SQ1.Exception等以及用户自定义的EXCePtion异样,一般状况下不自定义检查异常。二、异样的捕获和处理Java异样的捕获和处理是一个不简单把握的事情,假如处理不当,不但会让程序代码的可读性大大降低,而且导致系统性能低下,甚至引发一些难以发觉的错误。Java异样处理涉及到五个关键字,分别是:try、catch、finally、throw、throwstry、catch、finally三个语句块应留意的问题Igt:try.catch、finally三个语句块
4、均不能单独运用,三者可以组成try.catch.finally、try.catch、try.finally三种结构,CatCh语句可以有一个或多个,finally语句最多一个。2gt;try、catch、finally三个代码块中变量的作用域为代码块内部,分别独立而不能相互访问。假如要在三个块中都可以访问,则须要将变量定义到这些块的外面。3gt;多个Cateh块时候,只会匹配其中一个异样类并执行catch块代码,而不会再执行别的catch块,并且匹配catch语句的依次是由上到下。throw、throws关键字throw关键字是用于方法体内部,用来抛出一个Throwable类型的异样。假如抛出了检查异样,则还应当在方法头部声明方