try catch里面try catch嵌套

try catch里能否内嵌try catch?答案是肯定的。但是等内层try catch出异常之后是个什么执行顺序呢?看下面代码

 static void Main(string[] args){try{Console.WriteLine("----------------------外层try------------------------------");errorMethod();               }catch (Exception ex){Console.WriteLine("----------------------外层catch" + ex.Message + "------------------------------");}finally {Console.WriteLine("----------------------外层finally------------------------------");}Console.ReadKey();}private static void errorMethod(){           try{Console.WriteLine("----------------------内层try------------------------------");int i = 0;int a = 100/i;}catch (Exception ex){Console.WriteLine("----------------------内层catch" + ex.Message + "------------------------------");}finally {Console.WriteLine("----------------------内层finally------------------------------");}}

在这里插入图片描述

内层catch处理了异常,所以没有执行外层catch。

咱们把内层的catch注释掉 再试下

 static void Main(string[] args){try{Console.WriteLine("----------------------外层try------------------------------");errorMethod();               }catch (Exception ex){Console.WriteLine("----------------------外层catch" + ex.Message + "------------------------------");}finally {Console.WriteLine("----------------------外层finally------------------------------");}Console.ReadKey();}private static void errorMethod(){           try{Console.WriteLine("----------------------内层try------------------------------");int i = 0;int a = 100/i;}//catch (Exception ex)//{//    Console.WriteLine("----------------------内层catch" + ex.Message + "------------------------------");//}finally {Console.WriteLine("----------------------内层finally------------------------------");}}

在这里插入图片描述

很明显,外层catch捕获了异常。

总结:try catch嵌套,内层不能捕获时,会考虑外层内否捕获,内层能捕获,则外层catch不执行。

     try{//A  try{//B }catch{//C  }finally{//D  }//E  }catch{//F}finally{//G}

上面的代码 执行顺序

抛出异常在:内层A,E处由外层catch块捕获,并执行外层finally
抛出异常在:内层B处,且有一合适内层catch捕获,执行内层finally,后执行E处
抛出异常在:内层B处,但内层catch块没有合适处理程序,执行内层finally,搜索外层catch,找合适的,执行外层finally,此时不会执行E
抛出异常在:内层C处,退出内层catch块,执行内层finally,搜索外层catch,找到合适,执行外层finally
抛出异常在:内层D处,退出内层finally块,搜索外层catch,找到合适,执行外层finally

A抛异常 A=》F=》G

B抛异常 C能捕获 B=》C=》D=》E=》F=》G (若C处无法捕获B=》F=》G)

C抛异常 C=》D=》F=》G

D抛异常 D=》F=》G

E抛异常 A=》F=》G 同A

另外 try{}catch{} 中未做捕获类型限定,可捕获所以异常。如 try{}catch(IOException ex){} 则catch只能捕获I/O操作引发的异常。

转载于:https://www.cnblogs.com/zhangchengye/p/5674240.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47603.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

余华:把悲伤留给读者,把快乐留给自己

大家好我是图恩,最近看完了余华的一片随笔文集有感,故写下一些记录。 作为把悲伤留给读者把快乐留给自己的代表人物余华给大家贡献了很多笑点,比如听到他讲把史铁生扛上火车带着到处旅游,还讲到带着史铁生跟大学生来了一场足球对…

JSON.stringify()及其使用场景

JSON.stringify()及常用使用场景 JSON.stringify()是一个序列化对象的方法可接收三个参数。第一个参数是要序列化的对象,第二个参数是过滤器,可以是数组或函数;第三个参数是用于缩进结果JSON字符串的选项。 一、过滤器参数 如果第二个参数…

java反射使用总结

一、反射概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。…

Jeesite 4.0 学习笔记

Jeesite简介 Jeesite是一个 Java EE 企业级快速开发平台。 框架:SpringBoot SpringMVC Apache Shiro MyBatis Beetl(模板) Boostrap AdminLTE(UI) 核心模块:组织机构、角色用户、菜单及按钮授权、数…

[英美文化][UMOOCs][英美概况]unit1-7答案分享

自做答案分享 --若有侵权,请联系我删除--

商业研究(14):出境游和自由行,接机-送机-包车-当地玩乐

2015年10月,在36Kr股权众筹平台,参与投资了一个旅游类的项目。 这个项目,主要是做海外出境游,中文接机、中文送机、中文包车,未来可能会有当地玩乐等旅游类项目。 现在过去大概7个月了,进一步熟悉了这个旅游…

4000 essential English words打卡学习训练营

很多同学让我讲一讲4000 essential english words 这套教材,今天就详细介绍一下这套教材,附带导学视频,具体如下: 一、教材介绍 The 600 words in each book of this series along with the additional target words presented …

【英语】新走遍美国总结

新走遍美国简介 新美也叫纵横美国,connect with English,本来想找一个像旧美--Family Album USA一样高大上的名字,然而,没找到。主要叙述了主角Rebecca的故事,大概情节就是: 楔子:vocal系女…

English Learning - L3 综合练习 3 VOA-Food 2023.05.17 周三

English Learning - L3 综合练习 3 VOA-Food 2023.05.17 周三 句 1句 2句 3句 4句 5句 6句 7句 8句 9句 10句 11句 12句 13句 14句 15结尾:注意力和记忆力,都是需要开垦的 句 1 注意后面的介词短语是当定语的 我们提供更多有关食物的表达。 they are f…

社交娱乐类APP出海攻略

据数据研究机构艾瑞咨询发布的《2022年移动应用出海趋势洞察白皮书》显示,中国娱乐类APP出海呈现井喷式收入增长,仅2021年,中国娱乐类应用软件出海收入就增长了204%。如此广阔向好的出海前景也极大地调动了国内应用开发者的积极性。2022年&am…

XJTU 新闻英语阅读微课内容总结

本文内容整理自西安交通大学英语在线学习平台 文章目录 第一节为什么读新闻不同分类硬新闻与软新闻对比新闻的特点英国著名报纸美国著名报纸报纸封面 新闻标题特征例子 标题的修辞手法Lexical features of Headlines1.Abbreviations and acronyms2.Clipped Words3.Midget words…

Pandas做股票预测

数据集来源于yahoo财经股票数据。下载方式: import pandas_datareader.data as web ## 使用 pandas-datareader 来读取股票数据 start datetime.datetime(2010, 1, 1) end datetime.datetime(2017,12,31) prices web.DataReader(002578.SZ, yahoo, start, end) p…

bp神经网络预测股票价格,bp神经网络股价预测

bp神经网络股票价格预测的MATLAB编程 。 P[];‘输入,开盘价,最高价,最低价,收盘价成交量依次5天的数据’T[];’输出,即第二日的收盘’netnewff(minmax(P),[7,1],{tansig,logsig},traingdx);net.trainParam.epochs100…

Backtrader(二十三)- 多股票回测

多数据策略跌代表详解 场景:有多个相同时间粒度的股票数据参与策略,不同股票数据时间并不一致 日期 开盘 收盘 最高 最低 成交量 成交额 振幅 \ 0 2020-12-22 38.44 33.67 38.44 32.96 89625 582730960.0 …

玩转天猫精灵(一)dtu配置

设备刷dtu固件 一机一密,根据复制的信息填写好 topic直接复制粘贴过来,注意订阅发布位置不要错了 数据绑定串口1,启用串口1 硬件连接串口1打开串口助手,我们在云平台在线调试发送一条控制指令 我们就可以接受到消息,根…

【TB-02模组专题⑦】TB02二次开发玩转各种接入天猫精灵智能家居产品,彩灯、灯具、插座、单火线总有一款适合你。

本<安信可ble mesh蓝牙模组TB-02模组专题>系列博客学习由官方博客 CSDN安信可博客 潜心所力所写。如有不对之处&#xff0c;请留言&#xff0c;我们及时更改。 1、BLE MESH开发环境linux版搭建&#xff0c;点亮一盏LED灯。 2、简单学习如何对接天猫精灵语音控制的过程…

天猫精灵云云对接

天猫精灵云云对接 一.技能开发二.产品开发 接入过程出现了一些问题&#xff0c;特此记录&#xff0c;用来给朋友们参考&#xff0c;随意记录&#xff0c;不接受批评。 前情提要&#xff1a;注册并认证 天猫精灵开放平台 | AliGenie 一.技能开发 1.创建技能 2.技能服务设置(可以…

淘宝天猫价格监控接入方案

电商市场的兴起&#xff0c;让很多人看到了电商发展的前景&#xff0c;纷纷开始涉足电商。但由于门槛低、利润高&#xff0c;一些卖家开始打起了低价促销的主意。很多品牌方在面对这些现象时都非常苦恼&#xff0c;随着这类乱价现象的逐年加剧&#xff0c;许多品牌厂商都选择做…

天猫精灵云云接入

1&#xff1a;整体流程 2&#xff1a;服务器配置https 就是申请一个证书&#xff0c;把证书配置到tomcat中 3&#xff1a;去天猫精灵开发平台 网址&#xff1a;AliGenie - 语音开发者平台 3.1&#xff1a;添加技能 1 这里配置的路径是以后设备发现访问的网址&#xff0c;…

天猫精灵是干啥的

听&#xff1a;听歌&#xff0c;听新闻&#xff0c;听故事&#xff0c;听笑话&#xff0c;听它发癫。查&#xff1a;查天气&#xff0c;查快递&#xff0c;查信息&#xff0c;查购物等等。控&#xff1a;控制智能家居陪&#xff1a;娃&#xff0c;陪老人&#xff0c;陪自己解闷…