本文概述
- 捕获多个异常类型示例2
- 捕获多个异常类型示例3
你可以使用竖线(|)分隔catch块中的多个异常。
Java 7之前的一种旧方法, 用于处理多个异常。
捕获多个异常类型示例1
public class MultipleExceptionExample{
public static void main(String args[]){
try{
int array[] = newint[10];
array[10] = 30/0;
}
catch(ArithmeticException e){
System.out.println(e.getMessage());
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
输出:
/ by zero
捕获多个异常类型示例2Java 7为我们提供了什么:
public class MultipleExceptionExample{
public static void main(String args[]){
try{
int array[] = newint[10];
array[10] = 30/0;
}
catch(ArithmeticException | ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());
}
}
}
输出:
/ by zero
捕获多个异常类型示例3
public class MultipleExceptionExample{
public static void main(String args[]){
try{
int array[] = newint[10];
array[10] = 30/0;
}
catch(Exception | ArithmeticException | ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());
}
}
}
输出:
Compile-time error: The exception ArithmeticException is already caught by the alternative Exception
因此, 在这里, 如果你正在捕获多个异常, 请遵循一般化规则以使其更专业。这意味着, 如果你使用的是超级(通用)类, 请不要使用子(专用)类。
注–处理多个异常类型的catch块使catch参数隐式最终。在上面的示例中, catch参数“ e”是最终的, 因此你不能为其分配任何值。
推荐阅读
- Java 7 JDBC改进
- Java泛型使用全解
- Java For-each循环|增强的For循环
- Java枚举用法详解
- Java自动装箱和拆箱
- 如何在Mac上免费获取Microsoft Word(详细分步指南)
- 如何加速Windows 11并提高性能(15种有效方式)
- 电脑主机,本文教您电脑主机的相关知识
- hp笔记本怎样进bios,本文教您惠普笔记本怎样进bios