异常处理之throws
虽然我们通过try...catch...可以对异常进行处理,但是并不是所有的情况我们都有权限进行异常的处理。
也就是说,有些时候可能出现的异常是我们处理不了的,这个时候怎么办呢?
针对这种情况,Java提供了throws的处理方案
格式:
throws 异常类名:
注意:这个格式是跟在方法的括号后面的
编译时异常必须要进行处理,两种方案:try...catch...或者throws,如果采用throws这种方案,将来谁调用谁处理
运行是异常可以不处理,出现问题后,需要我们回来修改代码。
package com.itheima_70;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/*
throws异常类名;
这个格式是跟在方法的括号后面的
*/
public class ExceptionDemo04 {
public static void main(String[] args) {
System.out.println("开始");
// method();
try {
method2();
} catch (ParseException e) {
throw new RuntimeException(e);
}
System.out.println("结束");
}
//编译时异常
public static void method2() throws ParseException {
String s = "2022-04-22";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(s);
System.out.println(d);
}
//执行时异常
public static void method() throws ArrayIndexOutOfBoundsException{
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
}
}