异常体系:
我发现在好多面试中都会问关于异常的处理,下面就跟大家简单聊聊吧!!
异常的处理:
众所周知,异常有两种处理方式:抛出和捕获
抛出用throws或throw
捕获用try catch
在下面就讲讲异常抛出了的两种方式吧:
throws语法:
1方法的签名/声明,即参数列表后大括号前使用throws声明要抛出的异常类名.
2 throws后可以跟多个异常类名,之间使用逗号,隔开
3 程序一旦抛出异常,在方法抛出处,后续代码不再执行
ps: 方法声明抛出异常,并不是一定会抛出异常.只是有可能抛出异常.
例:
/**
* 异常处理方式一: 抛出异常
*/
public static void m1() throws ParseException,ArithmeticException{
// 编译期异常,抛出
Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2021年01月04日");
System.out.println(date );
// 运行时异常,可以抛出,也可以不主动处理.
// 如果不主动处理,那么虚拟机默认就是将异常抛出
System.out.println(1/0 );
}
手动抛出:
throw语法:
1.在需要的地方,直接使用throw关键字 + 异常对象即可将异常抛出
2.throw后面跟一个异常对象
例:
总结:
1 throw后面跟异常对象,throws异常类名
2 throw后面跟一个对象,throws后面跟多个类名
3 throw在方法内部使用,throws 在方法签名上使用