关键字:throw
作用:手动抛出一个异常对象
场景:方法体内部,由方法体内的语句处理
执行时:程序在执行到throw语句时立即停止,后面的语句都不执行
注意项:
-
如果一个方法调用抛出异常的方法,调用者就必须处理抛出的这个异常
-
只能抛出一个异常对象
关键字:throws
作用:声明该方法可能会抛出异常
场景:放在方法的大括号前,多个异常类型之间用","隔开
执行时:此方法的调用者需知道这个方法存在异常并捕获处理
注意项: 调用者必须做出处理(捕获或继续抛出)
throw示例:
try {
System.out.println("请输入除数:");
int num1 = input.nextInt();
System.out.println("请输入被除数:");
int num2 = input.nextInt();
if( num2 == 0 ) {
throw new ArithmeticException("算数出现异常!");
}
System.out.println("结果为:"+num1/num2);
}catch (ArithmeticException e) {
e.printStackTrace();
}catch (Exception e) {
System.out.println("出现异常!");
e.printStackTrace();
}finally {
System.out.println("程序结束!");
}
throws示例:
public class Student {
String name;
int age;
public void setAge(int age) throws Exception {
if(age<0 || age>100 ) {
throw new Exception("年龄错误!");
}
}
}
public class Test {
public static void main(String[] args) {
Student stu = new Student();
try {
stu.setAge(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}