Java异常
1、基本概念
在java程序运行时,常常会出现一些非正常的现象,这种情况称为运行错误。根据其性质可以分为错误和异常。java程序中所有抛出的异常都必须从Throwable派生而来。类Throwable有两个直接子类:Error和Exception。
一般来说,常见的错误如进入死循环、内存泄露等。这种情况,程序本身无法解决,java对应的类为Error类。Error由jvm生产并抛出,程序不对此类异常做处理。
另外一种异常类是Exception,主要是程序运行中出现的非正常情况,一般程序需要对这类的异常做处理,如下标越界、数据溢出、内存溢出、除数为0等。java编译器要求程序必须捕获或声明所有的非运行时的异常,但是可不做处理。另外RuntimeException代表运行时由jvm生成的异常,原因是编程错误。其他则为非运行异常,原因是碰到了意外情况,如IOException。
2、异常关键字
java处理异常的关键字有5个:try、catch、finally、throw、throws。
try、catch、finally不能单独使用,有三种结构:try...catch、try...finally、try...catch...finally。其中catch可以有多个但只会执行一个catch,而finally最多有一个,而且finally是一定会执行的,如果前面有return语句,则finally在return之前执行,在return之后便销毁。
throw和throws都是抛出异常,但使用地方不一样,throw用于方法内部,而throws用于方法外部。
void fun()throws Exception
{
thrownew Exception();
}