try {
逻辑代码块1;
} catch(ExceptionType e) {
处理代码块1;
}
在以上语法中,把可能引发异常的语句封装在 try 语句块中,用以捕获可能发生的异常。
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("---------学生信息录入---------------");
String name = ""; // 获取学生姓名
int age = 0; // 获取学生年龄
String sex = ""; // 获取学生性别
try {
System.out.println("请输入学生姓名:");
name = scanner.next();
System.out.println("请输入学生年龄:");
age = scanner.nextInt();
System.out.println("请输入学生性别:");
sex = scanner.next();
} catch (Exception e) {
e.printStackTrace();
System.out.println("输入有误!");
}
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
}
}
上述代码在 main() 方法中使用 try catch 语句来捕获异常,将可能发生异常的“age=scanner.nextlnt();”代码放在了 try 块中,在 catch 语句中指定捕获的异常类型为 Exception,并调用异常对象的 printStackTrace() 方法输出异常信息。运行结果如下所示。
---------学生信息录入---------------
请输入学生姓名:
徐白
请输入学生年龄:
110a
java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
输入有误!
姓名:徐白
年龄:0
at text.text.main(text.java:19)
提示:一个 catch 语句也可以捕捉多个异常类型,这时它的异常类型参数应该是这多个异常类型的父类。程序设计中要根据具体的情况来选择 catch 语句的异常处理类型。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有