Java 异常处理全解析
1. 输入异常处理示例
首先看一段代码,当输入 a12
时,分析其输出结果:
Scanner scanner = new Scanner(System.in);
try {
int num = scanner.nextInt();
if (num < 0) {
throw new Exception("No negative");
}
} catch (Exception e) {
System.out.println("Error: "+ e.getMessage());
} catch (InputMismatchException e) {
System.out.println("Invalid Entry");
}
当输入 a12
时,由于 scanner.nextInt()
期望读取一个整数,而输入的是包含字母的字符串,会触发 InputMismatchException
,因此程序会输出 Invalid Entry
。
2. 异常传播机制
2.1 基本概念
- 异常抛出者(Exception Thrower) :一个方法如果可能直接通过
throw
语句抛出异常,或者间接调用会抛出异常的方法,那么这个方法就是异常抛出