Java中的多异常捕获问题最后
来源:互联网 发布:用服务器搭建数据库 编辑:程序博客网 时间:2024/05/16 05:04
在Java7以前,每个catch块只能捕获一种类型的异常;但是从Java7开始,一个catch块可以捕获多种类型的异常。使用一个catch块捕获多种类型的异常时需要注意一下两个地方。
1 多种异常类型之间用竖线(|)隔开。
2捕获多种类型的异常时,异常变量有隐式的final修饰,因此程序不能够对异常进行重新复制。
多异常捕获代码如下:
public class MultiExceptionTest {public static void main(String[] args) {try{int a=Integer.parseInt(args[0]);int b=Integer.parseInt(args[1]);int c=a/b;System.out.println("您输入的两个数相除的结果是:"+c);}catch(IndexOutOfBoundsException|NumberFormatException|ArithmeticException ie){System.out.println("程序发生了数组越界、数字格式异常、算数异常之一");ie=new ArithmeticException("tese");//此行代码将会发生错误,因为一个catch捕获多个异常会默认final声明,不能进行重新赋值}catch(Exception e){System.out.println("未知异常");e=new RuntimeException("test");}}}
运行上面的代码产生如下效果图:
最后补充一点:进行多异常捕获是,要先捕获小的异常在捕获大异常,否则无法访问小异常,例如上述代码块如果catch先捕获exception异常,在捕获另外三个小异常,由于那三个小异常都是excpetion的子类,所以不会得到执行的机会。
1 0
- Java中的多异常捕获问题最后
- Java中的异常捕获
- java异常捕获问题
- JAVA 线程中的异常捕获
- JAVA 线程中的异常捕获
- JAVA中的自定义异常捕获
- JAVA 线程中的异常捕获
- java 异常捕获和捕获中的一些陷阱
- 多线程:Java 线程中的异常捕获
- java中的try-catch-finally异常捕获
- java中的异常捕获及处理
- Java程序运行过程中的异常捕获
- Java中的异常处理:何时抛出异常,何时捕获异常?
- java异常捕获,统一捕获
- javascript 中的捕获异常
- 捕获线程中的异常
- scala 中的异常捕获
- 异常捕获的问题
- Flask - admin 快速入门
- 86. Partition List leetcode list
- PHP - 内存管理
- Git使用从入门到上手
- JavaWeb(六)--开发模式
- Java中的多异常捕获问题最后
- 一直在fetching documentation(鼠标放在方法上,读取方法解释的速度很慢)
- C程序设计 例题5.1 求一到一百的和
- ++i 与 i++
- Visual Studio Code 使用Git进行版本控制
- Gradle错误
- Spring 系列: Spring 框架简介
- Container With Most Water
- solver_factory.hpp的理解