大家都知道java中拥有两种处理异常的关键字,throw和throws,今天我就来浅谈一下他们的区别
区别1
throw用在方法体内,后面跟的是异常类的对象名。
public void checkEmpIDLength(String empID){
if(empID.length() != 6){
throw new IllegalArgumentException("员工ID异常");
}
}
throws用在方法声明的时候,后面跟的是异常的类名
public void readfile() throws IOException {
File file = new File("a.txt");
if(file.exists()){
System.out.println(file.length());
}else{
file.createNewFile();
}
}
区别2
throw只处理一个异常
throws可以抛出多个异常,用逗号隔开
public void checkEmpIDLength(String empID) throws ArithmeticException,IOException{
if(empID.length() != 6){
throw new IllegalArgumentException("员工ID异常");
}
}
区别3
throw抛出的异常由该方法体内的语句来处理
throws抛出的异常由该方法的调用者来处理
区别4
throw抛出的异常在执行throw语句的时候,异常一定是发生了的
throws抛出的异常表明可能存在异常,但是不一定会发生