java中的异常处理
基本概念
首先我们要知道,一个程序在运行过程中可能会遇到程序终止的情况,一般这种情况可以分成两大类
一类是可以处理,非致命性的,正确处理之后程序可以进行,就是我们说的 异常
另一类是不能进行简单的恢复执行,程序遇到了严重的不正常情况,是致命性的,称之为 错误 , 包括 虚拟机错误,动态连接失败等
异常 按照性质,又分为 编译时异常 跟 运行时异常
编译时异常,程序正确,外部条件不满足引发的异常,源代码(.java文件)编译成字节码(.class文件)编译不通过
运行时异常,程序错误,程序存在bug, 比如我们常见的
数组角标越界异常 java.lang.ArrayIndexOutOfBoundsException(就是定义了一个只能存5个元素的数组,结果存了6个)
还有就是空指针异常 java.lang.NullPointerException 等等
异常处理
在java 中 ,处理异常主要有两种方式
-
一种是交由java 预设处理机制,(简单来说就是往上抛 ) 用关键字throws
这种方法有点贱了,就是我发现这边有异常,我不去处理,我标记一下,往上抛,等你调用我的时候,你再去处理这个异常
public static int throwMyException() throws ArithmeticException { return 0; }