前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java中多个异常的捕获顺序(多个catch)

Java中多个异常的捕获顺序(多个catch)

作者头像
用户7886150
修改于 2021-04-25 09:45:27
修改于 2021-04-25 09:45:27
4.2K0
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Java捕获多个异常

转自:http://lukuijun.iteye.com/blog/340508 

   Java代码  

  import java.io.IOException;   public class ExceptionTryCatchTest {       public void doSomething() throws IOException{           System.out.println("do somthing");       }       public static void main(String[] args){           ExceptionTryCatchTest etct = new ExceptionTryCatchTest();           try {               etct.doSomething();           } catch (Exception e) {                          } catch (IOException e) {                          }       }      }   

 【问题】 

上述程序能否编译通过?为什么?  

 【解答】 

不能编译通过。因为编译的时候会报错:已捕捉到异常 java.io.IOException。  catch(IOException e)这句有错误。  分析:对于try..catch捕获异常的形式来说,对于异常的捕获,可以有多个catch。对于try里面发生的异常,他会根据发生的异常和catch里面的进行匹配(怎么匹配,按照catch块从上往下匹配),当它匹配某一个catch块的时候,他就直接进入到这个catch块里面去了,后面在再有catch块的话,它不做任何处理,直接跳过去,全部忽略掉。如果有finally的话进入到finally里面继续执行。换句话说,如果有匹配的catch,它就会忽略掉这个catch后面所有的catch。对我们这个方法来说,抛出的是IOException,当执行etct.doSomething();时,可能会抛出IOException,一但抛出IOException,它首先进入到catch (Exception e) {}里面,先和Exception匹配,由于IOException extends Exception,根据多态的原则,IOException是匹配Exception的,所以程序就会进入到catch (Exception e) {}里面,进入到第一个catch后,后面的catch都不会执行了,所以catch (IOException e) {}永远都执行不到,就给我们报出了前面的错误:已捕捉到异常 java.io.IOException。   【总结】 

在写异常处理的时候,一定要把异常范围小的放在前面,范围大的放在后面,Exception这个异常的根类一定要放在最后一个catch里面,如果放在前面或者中间,任何异常都会和Exception匹配的,就会报已捕获到...异常的错误。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
html5 空格_打前端代码用一堆空格符
  CSS中当 white-space 属性取值为pre时,浏览器会保留文本中的空格和换行,例如:
全栈程序员站长
2022/09/27
1.8K0
前端HTML空格转义符总结
HTML提供了5种空格实体(space entity),它们拥有不同的宽度。 非断行空格( )是常规空格的宽度,可运行于所有主流浏览器。 其他几种空格(    ‌‍)在不同浏览器中宽度各异。
全栈程序员站长
2022/11/09
4.5K0
html中的空格怎么写,html中空格代码是什么?(总结)
对于新手小白来说,html空格符号代码的书写可能有点茫然,那么本篇文章就给大家总结介绍关于html空格代码的多种表示方法。希望对大家有一定的帮助。
全栈程序员站长
2022/06/25
15.8K0
4种HTML空格的说明 (经常用于文字对齐)
  这是我们使用最多的空格,也就是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加。为了便于记忆,我总是把这个空格成为“牛逼(nb)空格(sp – space)”,虽然实际上并不牛逼。该空格占据宽度受字体影响明显而强烈。在inline-block布局中会搞些小破坏,在两端对齐布局中又是不可少的元素。是个让人又爱又恨的小东东。   该空格学名不详。为了便于记忆,我们不妨就叫它“恶念(e n-ian)空格”。此空格传承空格家族一贯的特性:透明滴!此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。   该空格学名不详。为了便于记忆,我们不妨就叫它”恶魔(e m-o)空格”。此空格也传承空格家族一贯的特性:透明滴!此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。   该空格学名不详。我们不妨称之为“瘦弱空格”,就是该空格长得比较瘦弱,身体单薄,占据的宽度比较小。我目前是没用过这个东西,这里亮出来是让其过一下群众演员的瘾。
javascript.shop
2019/09/04
2.5K0
HTML空格符_HTML中什么表示特殊字符空格
本篇就单介绍空格的字符实体,HTML提供了6种空格实体(space entity):
全栈程序员站长
2022/11/09
4.5K0
HTML空格符_HTML中什么表示特殊字符空格
HTML中的空格字符_dw空格代码怎么打
在学习插入空格字符代码书写方法之前,我们要知道,html代码的空格字符,在浏览器中,总会被压缩为一个字符!也就是说,你在html文本中输入多个空格,但在浏览器中,只会保留显示一个字符,其余的都将被浏览器删除。
全栈程序员站长
2022/09/28
5.4K0
HTML中的空格字符_dw空格代码怎么打
html一个汉字空格占位_空格占位符复制
em是字体排印学的计量单位,相当于当前指定的点数。例如,1 em在16px的字体中就是16px。
全栈程序员站长
2022/09/27
2.1K0
html一个汉字空格占位_html空格字符
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
2.6K0
html5空格代码怎么写_html怎么添加空格
本篇文章为大家介绍的是HTML的空格代码的写法,“ ”代码的用法,还有几种空格方式的解释,都在文章中,现在开始往下看吧。
全栈程序员站长
2022/08/02
9.7K0
html5空格代码怎么写_html怎么添加空格
html里面空格_html空格占位符
  ==   ==   == no-break space (普通的英文半角空格但不换行)
全栈程序员站长
2022/11/10
6K0
Html的空格显示
全角空格被解释为汉字,所以不会被被解释为HTML分隔符,能够依照实际的空格数显示。
全栈程序员站长
2022/07/11
3.9K0
html中空格的写法[通俗易懂]
HTML不是一种编程语言,而是一种超文本标记语言 (markup language),是网页制作所必备的。超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 方法1:使用键盘,键入空格 在html页面中,我们可以通过键入“空格”键来插入空格。 例:在p.p1中键入一个空格,在p.p2中键入5个空格。注:此时是半角状态键入“空格”:
全栈程序员站长
2022/07/04
3.3K0
html中空格的写法[通俗易懂]
Html中的空格符
  CSS中当 white-space 属性取值为pre时,浏览器会保留文本中的空格和换行,例如:
全栈程序员站长
2022/11/09
2.3K0
android空格字符串_v1d空格复制
  ==   ==   == no-break space (普通的英文半角空格但不换行)
全栈程序员站长
2022/09/30
8660
JS魔法堂:再识ASCII实体、符号实体和字符实体
一、前言                                            相信大家都熟悉通过字符实体 &nbsp; 来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢。 二、初识HTML实体                                                                    由于HTML中某些字符是预留的(如>和<等),若要在进行HTML解析出来后能正确显示预留字符,则需要
^_^肥仔John
2018/01/18
2.4K0
Android控件绑定代码快速生成工具 ,Android 开发Invalid byte 2 of 2-byte UTF-8 sequence. Textview设置空格
在setting  ,plugin(插件)中,搜索:Android Code Generator。安装并且重启。ok
zhangjiqun
2024/12/16
910
前端开发知识汇总--HTML、CSS
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/67063297
j_bleach
2019/07/02
7670
前端开发知识汇总--HTML、CSS
Unicode中的空格字符一览(翻译)
本文列出了 Unicode 中的各种空格字符。有关说明, 还请参阅 Unicode 标准中的 第6章 书写系统和标点符号 还有Unicode标准中的 一般标点符号的区段描述 。本文还列出了3个宽度为0的字符, 故可称其为零宽度空格。
Kitov
2022/09/28
11.2K0
Unicode中的空格字符一览(翻译)
HTMl网页中的文本和图像
JaneYork
2023/10/11
6690
04-微信小程序常用组件-基础组件
微信小程序包含了六大组件:视图容器、基础内容、导航、表单、互动和导航。这些组件可以通过WXML和WXSS进行布局和样式设置,从而构建出丰富的小程序界面和交互体验。
度假的小鱼
2023/11/22
5510
04-微信小程序常用组件-基础组件
推荐阅读
相关推荐
html5 空格_打前端代码用一堆空格符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档