- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
try、catch和finally
1、将预见可能引发异常的代码包含在try语句块中。
2、如果发生了异常,则转入catch的执行。catch有几种写法:
catch
这将捕获任何发生的异常。
catch(Exception e)
这将捕获任何发生的异常。另外,还提供e参数,你可以在处理异常时使用e参数来获得有关异常的信息。
catch(Exception的派生类 e)
这将捕获派生类定义的异常,例如,我想捕获一个无效操作的异常,可以如下写:
catch(InvalidOperationException e)
{
....
}
这样,如果try语句块中抛出的异常是InvalidOperationException,将转入该处执行,其他异常不处理。
catch可以有多个,也可以没有,每个catch可以处理一个特定的异常。.net按照你catch的顺序查找异常处理块,如果找到,则进行处理,如果找不到,则向上一层次抛出。如果没有上一层次,则向用户抛出,此时,如果你在调试,程序将中断运行,如果是部署的程序,将会中止。
如果没有catch块,异常总是向上层(如果有)抛出,或者中断程序运行。
3、finally
finally可以没有,也可以只有一个。无论有没有发生异常,它总会在这个异常处理结构的最后运行。即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。
注意:如果没有catch语句块,那么finally块就是必须的。
如果你不希望在这里处理异常,而当异常发生时提交到上层处理,但在这个地方无论发生异常,都要必须要执行一些操作,就可以使用try finally.
1. 抛出 E1. 抛出 Exception,没有 finally,当 catch 遇上 return
?1
?2public?static?boolean?catchTest()?{
?3????????try?{
?4????????????int?i?=?10?/?0;???//?抛出?Exception,后续处理被拒绝
?5????????????System.out.println(i?vaule?is?:??+?i);
?6????????????return?true;????//?Exception?已经抛出,没有获得被执行的机会
?7????????}?catch?(Exception?e)?{
?8????????????System.out.println(?--?Exception?--);
?9????????????return?catchMethod();????//?Exception?抛出,获得了调用方法并返回方法值的机会
10????????}
11????}
12
后台输出结果:
1
2?--?Exception?--
3call?catchMethod?and?return??---??false
4
2. 抛出 Exception,当 catch 体里有 return,finally 体的代码块将在 catch 执行 return 之前被执行
?1
?2public?static?boolean?catchFinallyTest1()?{
?3????????try?{
?4????????????int?i?=?10?/?0;?//?抛出?Exception,后续处理被拒绝
?5????????????System.out.println(i?vaule?is?:??+?i);
?6????????????return?true;???//?Exception?已经抛出,没有获得被执行的机会
?7????????}?catch?(Exception?e)?{
?8????????????System.out.println(?--?Exception?--);
?9????????????return?catchMethod();??//?Exception?抛出,获得了调用方法的机会,但方法值在?finally?执行完后才返回
10????????}finally{
11????????????finallyMethod();??//?Exception?抛出,finally 代码块将在?catch?执行?return?之前被执行
12????????}
13????}
14
后台输出结果:
1
2?--?Exception?--
3call?catchMethod?and?return??---??
4call?finallyMethod?and?do?something??---??false
5
3. 不抛 Exception,当 finally 代码块里面遇上 r
您可能关注的文档
- 板式塔的研究进展及发展方向.doc
- TMS Solution PPT_面对数据中心.pptx
- UIT统一存储SV3000G2竞品分析-2014版.pptx
- 能力提升工程学习简报第02期.pptx
- 二叉树程序可运行.doc
- 七年级下册英语_第三单元_课件.ppt
- 福特汽车-FPDS系统介绍.ppt
- 春节实用词汇 Spring Festival Words.doc
- 有关食品和三餐的英文翻译.doc
- TryV D类功放使用说明V1.5.pdf
- 2026秋季中国工商银行集约运营中心(佛山)校园招聘20人备考题库含答案详解(培优).docx
- 中国农业银行宁波市分行2026年度校园招聘214人备考题库附答案详解(夺分金卷).docx
- “梦工场”招商银行长沙分行2026寒假实习生招聘备考题库附答案详解(轻巧夺冠).docx
- 2026贵州省公共资源交易中心定向部分高校选调优秀毕业生专业技术职位考试备考题库完整参考答案详解.docx
- 中国建设银行建信金融资产投资有限公司2026年度校园招聘8人备考题库含答案详解(a卷).docx
- 中国农业银行宁夏回族自治区分行2026年度校园招聘146人备考题库及一套参考答案详解.docx
- 门头沟区青少年事务社工招聘1人备考题库附答案详解(模拟题).docx
- 中国建设银行运营数据中心2026年度校园招聘20人备考题库含答案详解ab卷.docx
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人备考题库及答案详解(有一套).docx
- 2026秋季中国工商银行重庆市分行校园招聘270人备考题库含答案详解(完整版).docx
原创力文档


文档评论(0)