?1、什么是声明异常(throws)?
throws被称为声明异常,其含义是将异常给显示出来然后抛给使用方法的人。throws进行声明,让调用者去解决异常。throws运用于方法声明之上,其作用是提醒调用者处理异常(抛出异常)。
1.1、声明格式
修饰符 返回值类型 方法名() throws 异常类名 {}
1.2、代码演示
public class Test3 {
private int age;
public void setAge(int age) throws Exception{ //声明异常
if(0<age||age>150){
System.out.printin("输入年龄有误!");
}
this.age=age;
}
public class Test4(){
public static void main(String[] args) {
Test3 t=new Test3();
//调用方法,提醒使用者,要么使用try-catch解决异常,
//要么继续在mian方法中声明异常抛出异常给调用者
try {
t.setAge(160);
}catch (Exception ex){
System.out.println(ex.getMessage());
}
}
}
注意事项:throws用于进行异常类的声明,若该方法可能有多种异常情况产生,那么在throws后面可以写多个异常类,用逗号隔开。
?2、什么是throw?
我们在编写程序时,必须要考虑程序出现问题的情况。比如,在定义方法时,方法需要接收参数。那么,这时需要使用抛出异常的方式来告诉调用者。在java中,提供了一个throw关键字,它用来抛出一个指定的异常对象。
2.1、声明格式
修饰符 返回值类型 方法名(参数列表)throws 异常的类型 {
if (判断条件) {
throw new 异常对象("异常的原因");
}
}
2.2、代码演示
throw用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结束当前方法的执行。
public class Test5 {
private int age;
public void setAge(int age) throws Exception{
if(0>age||age>150){
//抛出运行时异常对象,并填写异常信息
throw new Exception("输入年龄有误!");
}
this.age=age;
}
}
?3、throw和throws的区别?
1、throw代表动作,表示抛出一个异常的动作; throws代表一种状态,代表方法可能有异常抛出。
2、throw用在方法实现中,而throws用在方法声明中。
3、throw只能用于抛出一种异常,而throws可以抛出多个异常。