java中什么叫多重捕获MultiCatch,它的用法是怎样的?
2.多重捕获MultiCatch
马克-to-win:什么叫多重捕获MultiCatch?一段代码可能引起多个异常,这时可以定义两个或更多的catch子句来处理这种情况,每个子句捕获一种类型的异常。马克-to-win:异常被引发时,每一个catch块儿被依次检查,第一个匹配异常类型的catch块儿被执行。马克-to-win:当一个catch块儿执行以后,其他的catch块儿被跳过,继续try/catch块以后的代码。像switch一样。
例:1.2.1-
public class Test {
public static void main(String[] args) {
int arg1;
int result;
String s="abc";
// String s="12";
try {
arg1 = Integer.parseInt(s); //马克-to-win:这里会发生异常,所以try块中后面语句执行不了, 进入catch 块儿
result = arg1 /0;
System.out.println("try部分没有完成,所以打印不出这里");
}
catch (NumberFormatException e) {
System.out.println("输入参数必须为整数!");
}
System.out.println("马克-to-win:优雅结束");
}
}
观察上一个例子可知:用户根据提示,输入会变成整数,见下一个例子。
例:1.2.2-
public class Test {
public static void main(String[] args) {
int arg1;
int result;
// String s="abc";
String s="12";
try {
arg1 = Integer.parseInt(s);
result = arg1 /0;//马克-to-win:这里会再次抛出异常,使程序崩溃
System.out.println("try中完成finish");
}
catch (NumberFormatException e) {
System.out.println("输入参数必须为整数!");
}
System.out.println("马克-to-win:优雅结束");
}
}
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44639795/article/details/103109565
java中什么叫多重捕获MultiCatch,它的用法是怎样的?的更多相关文章
- 如何在java中跳出当前多重嵌套循环?有几种方法?
如何在java中跳出当前多重嵌套循环?有几种方法? - 两种方法 - 1.在外层循环定义标记 ok: for(int i=0;i<100;i++){ ...
- Java中主线程如何捕获子线程抛出的异常
首先明确线程代码的边界.其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界.Runnable接口中run方法原型如下: public void run(); 而所有的具 ...
- Java中的break,continue关于标签的用法(转载)
Java的控制循环结构中是没有关键字goto的,这种做法有它的好处,它提高了程序流程控制的可读性,但是也有不好的地方,它降低了程序流程控制的灵活性,所以说,“上帝是公平的”.所以,Java为了弥补这方 ...
- java中静态代码块的用法和static用法(转)
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程 ...
- Android学习记录(4)—在java中学习多线程下载的基本原理和基本用法①
多线程下载在我们生活中非常常见,比如迅雷就是我们常用的多线程的下载工具,当然还有断点续传,断点续传我们在下一节来讲,android手机端下载文件时也可以用多线程下载,我们这里是在java中写一个测试, ...
- java中Map的put函数和get函数用法
---内容开始--- 没有比较完整的说明他们的用法,一般就只能看源函数,但是看起来比较的费劲. 那么究竟put函数和get函数的用法是如何的呢? 当然java中的Map集合是有Key和Value的. ...
- java 中异常处理示例并捕获完整异常内容
public class Test { public static void main(String[] args) { try { int a = 1; int b = 0; int c = a/b ...
- Java中unicode增补字符(辅助平面)相关用法简介
转载自 http://blog.csdn.net/gjb724332682/article/details/51324036 前言 Java从1.5版本开始,加入了unicode辅助平面的支持.相关的 ...
- Java中volatile修饰符,不稳定标记的用法笔记
今天学java特性时,发现了volatile修饰符,这个修饰符修饰的变量告诉java编译器忽略优化机制,这样的优势是: java优化后,寄存器会缓存内存里的变量,另一个线程修改这个变量的内存时,不会同 ...
随机推荐
- CentOS安装时,软件选择(Software Selection)项介绍
要指定软件包将被安装,选择软件时选择安装摘要屏幕.包组分为基础环境.这些环境是预先定义的一组具有特定用途的软件包:例如,在虚拟化主机环境中包含的一组所需的系统上运行的虚拟机软件程序包.只有一个软件环境 ...
- 5. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
- chap8-fluent python
浅拷贝 VS 深拷贝 # In[] # list 生成一个新的引用对象,只是用alst完成初始化 alst = [1,2,3,4,5] blst=list(alst) alst.append(6) p ...
- 个人网站tqqj.top
建站历程 就在这里记录自己的建站历程吧!:) 2022-3-21 今天写这个建站历程实际上是有点晚了,因为我已经把网站完全上线了,意思就是说网站已经在运行了. 这个网站是准备建立自己的博客使用的,但是 ...
- 《前端运维》一、Linux基础--07Shell函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.shell中函数的定义格式如下: [ function ] funname [()] { action; [return ...
- Java案例——字符串中的数据排序
需求:有一个字符串"9 1 2 7 4 6 3 8 5 0",请编写程序实现从小到大数据排序 分析:最重要的部分是如何将字符串中的数据取出来 1.定义一个字符串为"9 1 ...
- Ansible的原理与配置
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 Ansible原理 Ansible 是一款开源自动化平台.它是一种简单的自动化语言,能够在Ansible Playbook 中完美地描述 IT 应 ...
- 题解0004:单词接龙(洛谷P1019)
题目描述:已知一组单词,给定一个开头的字母,要求出以这个字母开头的最长的"龙"(每个单词都最多在"龙"中出现两次),在两个单词相连时,其重合部分合为一部分. 题 ...
- 【freertos】002-posix模拟器设计与cortex m3异常处理
目录 前言 posix 标准接口层设计 模拟器的系统心跳 模拟器的task底层实质 模拟器的任务切换原理 cortex M3/M4异常处理 双堆栈指针 双操作模式 栈帧 EXC_RETURN 前言 如 ...
- buu 相册 wp
调用c2 主要为nativemethod部分,调用外部函数 解压找到so库 字符串定位函数 getflag