一,处理
tyr{}
catch(Exception e){}
将可能存在异常的部分放在try块中
如果不正常,try 里的代码会立即终止,程序流程会运行到对应的catch块中。
无论如何finally中的代码都会被执行
二,多异常捕捉方法
分别catch
放在一起catch(代码更加紧凑,但是发生异常潘多起来比较麻烦)
三,throw和throws
1.throws出现在方法的声明中,表示该方法可能会抛出的异常,允许throws后面跟着多个异常类型。
2、throw出现在方法体中,用于抛出异常。当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw。
四,异常分类
可查异常CheckedException
可查异常,必须处理的异常,要么catch,要么throw,不处理则编译器无法通过。
运行异常RuntimeException(不可查异常)
不处理也会运行。
常见运行时异常:
除数不能为0异常:ArithmeticException
下标越界异常:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
错误(不可查异常)
错误Error,指的是系统级别的异常,通常是内存用光了
在默认设置下,一般java程序启动的时候,最大可以使用16m的内存
如例不停的给StringBuffer追加字符,很快就把内存使用光了。抛出OutOfMemoryError
与运行时异常一样,错误也是不要求强制捕捉的
五Throwable
Throwable是类,Exception和Error都继承了该类