Java异常体系结构 异常分为两种:Error和Exception,分别表示错误和异常。先来看一下这两种异常: Error:由系统底层发出的,严重性的错误,也是程序无法处理的错误。比如OutOfMemoryError、ThreadDeath等。Error一旦出现,Java虚拟机(JVM)必然会选择程序结束。 解决途径:修改代码。 Exception:由JVM发现错误,告诉调用者。这是程序本身可以处理的异常,可以做针对处理。 我们主要来看的是Exception异常: 异常类Exception又分为两种:运行时异常(RuntimeException)和非运行时异常, 1.运行时异常:都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等。这些异常在编译时期不被检测,但是在程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。 2.非运行时异常:类型上都属于Exception类及其子类。这种异常在编译时期就会被检测出来而且必须进行处理的异常,如果不处理,程序就不能编译通过。 二、 异常的捕获和处理 Java异常的捕获和处理是一个不容易把握的事情,如果处理不当,不但会让程序代码的可读性大大降低,而且导致系统性能低下,甚至引发一些难以发现的错误。 Java异常处理涉及到五个关键字,分别是:try、catch、finally、throw、throws。下面将骤一介绍, 通过认识这五个关键字,掌握基本异常处理知识。 |