Java基础(六)异常处理

异常:就是程序在运行时出现不正常情况。通过java的类的形式进行描述并封装成对象,其实就是java对不正常情况进行描述后的对象体现。

对于问题的划分:两种:一种是严重的问题,一种非严重的问题。对于严重的,java通过Error类进行描述,对于Error一般不编写针对性的代码对其进行处理。对与非严重的,java通过Exception类进行描述,对于Exception可以使用针对性的处理方式进行处理。

Throwable 类是Java语言中所有错误或异常的超类(这就是一切皆可抛的东西)它有两个子类:ErrorException

Error用于指示合理的应用程序不应该试图捕获的严重问题。这种情况是很大的问题,大到你不能处理了,所以交给JVM吧,没有比它更专业的了。

Exception它指出了合理的应用程序想要捕获的条件。Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。通常UncheckedException又叫做RuntimeException。常见的RuntimeExcepitonIllegalArgumentException、IllegalStateExceptionNullPointerExceptionIndexOutOfBoundsException等等。

异常的处理有两种方式:

第一种是 try catch 语句捕获异常并处理,如下:

try{
  需要被检测的代码;
}catch(异常类 变量){
  处理异常的代码;(处理方式)
}finally{
  一定会执行的语句;
}

第二种是:在方法上加throws关键字并指明会抛出的哪种异常,如下

viod show() throws Exception

{

}

throws和throw的区别:throws使用在函数上。throw使用在函数内。throws后面跟的异常类。可以跟多个。throw后跟的是异常对象。

Exceptoin中有一个特殊的子类异常RuntimeException 运行时异常。如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过。如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。

自定义异常类时,继承Exception原因:异常体系有一个特点:因为异常类和异常对象都被抛出。他们都具备可抛性。这个可抛性是Throwable这个体系中独有特点。只有这个体系中的类和对象才可以被throws和throw操作。

posted @ 2013-01-02 20:38  马英豪  阅读(80)  评论(0)    收藏  举报