异常
程序员文章站
2022-03-02 15:23:19
...
异常处理方式
/*
* 异常的处理方式:
* try...catch...finally
* 格式:
* try{
* 被检测的代码
* 可能出现异常的代码
* }catch(异常类名 变量){
* 异常的处理方式
* 循环,判断,调用方法,变量
* }finally{
* 必须要执行代码
* }
*/
public class ExceptionDemo1 {
public static void main(String[] args) {
int[] arr = {1,2};
//int[] arr = null;
try{
int i = getArray(arr);
System.out.println(i);
}catch(NullPointerException ex){//throw new NullPointerException("数组不存在");
//从类 java.lang.Throwable 继承的方法toString
System.out.println("###"+ex.toString());//###java.lang.NullPointerException: 数组不存在
}catch(ArrayIndexOutOfBoundsException ex){//throw new ArrayIndexOutOfBoundsException("数组没有3索引");
System.out.println("!!!"+ex);//!!!java.lang.ArrayIndexOutOfBoundsException: 数组没有3索引
}finally{
System.out.println("代码必须执行");
}
System.out.println("Game Over");
}
public static int getArray(int[] arr) throws NullPointerException,ArrayIndexOutOfBoundsException {
if(arr == null) {
//创建异常类对象
throw new NullPointerException("数组不存在");
}
if(arr.length < 3) {
throw new ArrayIndexOutOfBoundsException("数组没有3索引");
}
return arr[3]+1;
}
}