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优化后,寄存器会缓存内存里的变量,另一个线程修改这个变量的内存时,不会同 ...
随机推荐
- JAVA基础01----第1章Java开发环境搭建
一. Java开发环境中涉及的名词:JDK,JRE,JVM A:什么是JVM JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己 ...
- 为什么不让用join?《死磕MySQL系列 十六》
大家好,我是咔咔 不期速成,日拱一卒 在平时开发工作中join的使用频率是非常高的,很多SQL优化博文也让把子查询改为join从而提升性能,但部分公司的DBA又不让用,那么使用join到底有什么问题呢 ...
- 微信小程序断网处理
wx.onNetworkStatusChange(function callback) 参数 function callback 网络状态变化事件的回调函数 参数 Object res 属性 类型 说 ...
- 实践1使用XGB实现酒店信息消歧
XGB算法是决策树衍生出来的一种算法 场景:酒店的业务人员希望我们能够提供一个算法服务去为酒店信息做一个自动化的匹配,以通过算法的手段,找到那些确定相同的酒店和确定不同的酒店 以下代码为部分 理解业务 ...
- 1.2 简单的STL案例
文章目录 1.容器算法迭代器分离案例 2.专栏回顾:第一章到第二章2.2 1.容器算法迭代器分离案例 案例:统计某个元素在数组里出现的次数 简易版(帮助理解,无STL) #include<ios ...
- SQL语句性能优化策略
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引.2.应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认 ...
- 爬虫系列之Scrapy框架
一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能 ...
- 嵌套OOPS导致系统卡死 每个CPU都上报softlockup的问题
问题现象:在ARM服务器上,构造oops异常,本应该产生panic,进入dump流程,并且系统重启,但是系统并未重启,而是出现了卡死,在串口会隔一段时间就循环打印调用栈信息.如下所示 linux-fA ...
- 后门及持久化访问3----进程注入之AppInit_DLLs注册表项
进程注入之AppInit_DLLs注册表项 User32.dll被加载到进程时,会获取AppInit_DLLs注册表项,若有值,则调用LoadLibrary() API加载用户DLL.只会影响加载了u ...
- 如果你的Serializable类包含一个不可序列化的成员,会发生什么?你是如何解决的?
任何序列化该类的尝试都会因NotSerializableException而失败,但这可以通过在 Java中 为 static 设置瞬态(trancient)变量来轻松解决. Java 序列化相关的常 ...