package pck01;
import java.util.InputMismatchException;
import java.util.Scanner;
public class b {
public static void main(String[] args) {
int age;
Scanner input = new Scanner(System.in);
System.out.println("请输入您的年龄:");
try {
age = input.nextInt(); // 获取年龄
if(age < 0) {
throw new a("您输入的年龄为负数!输入有误!");
} else if(age > 100) {
throw new a("您输入的年龄大于100!输入有误!");
} else {
System.out.println("您的年龄为:"+age);
}
} catch(InputMismatchException e1) {
System.out.println("输入的年龄不是数字!");
} catch(a e2) {
//String str=e2.getMessage();
System.out.println(str);
}
}
}
package pck01;
//import java.lang;
public class a extends Exception {
public a() {
super();
}
public a(String str) {
super(str);
}
}
上面注释的getmessage是干什么用的、为什么有没有这一句当输入-8时输出结果一样
这些都是 Java语言里关于分支和异常的知识,属于基础知识,建议先找资料系统性学习一遍
【以下回答由 GPT 生成】
getMessage()
方法是用来获取异常对象中的错误信息的。在上述代码中,当输入年龄为负数时抛出了自定义的异常a
对象并传入了错误信息作为参数,通过getMessage()
方法可以获取到这个错误信息并打印出来。当输入-8时,输出结果一样是因为在代码中通过throw new a("您输入的年龄为负数!输入有误!");
抛出了一个自定义异常a
对象,并将错误信息传递给了该异常对象。在catch(a e2)
块中通过e2.getMessage()
获取到了该错误信息并打印出来。所以无论是输入-8还是其他负数,最终都会输出"您输入的年龄为负数!输入有误!"。
【相关推荐】