dotnet C# 在 finally 抛异常会发生什么
如果我在一个方法的 finally 里面抛出异常,而在 try 里面也抛出,那在上层拿到的是什么
如下面代码
private void F1()
{
try
{
A();
}
catch (Exception e)
{
}
}
private void A()
{
try
{
throw new ArgumentException("lindexi is doubi");
}
finally
{
throw new FileNotFoundException("lsj is doubi");
}
}
请问在 F1 的 catch 里面收到的 e 是什么类型,会触发几次?
试试上面的代码,可以看到其实在进入 try 时,抛出 ArgumentException 不会立刻返回到 F1 方法里面,而是会继续执行 finally 方法
在 finally 抛出的 FileNotFoundException 将会替换掉 ArgumentException 抛给了 F1 方法里面
所以答案就是在 F1 的 catch 方法,只会被触发一次,这一次的 e 就是在 finally 抛出的 FileNotFoundException 异常
dotnet C# 在 finally 抛异常会发生什么的更多相关文章
- .net core 抛异常对性能影响的求证之路
一.前言 在.net 社区中曾经听到过很多关于大量抛异常会影响性能这样的结论,心中一直就存在各种疑问.项目中使用自定义异常来处理业务很爽,但是又担心大量抛业务异常存在性能问题. 查阅了各种文档,微软官 ...
- poco json 中文字符,抛异常JSON Exception -->iconv 转换 备忘录。
起因 最近linux服务器通信需要用到json. jsoncpp比较出名,但poco 1.5版本以后已经带有json库,所以决定使用poco::json(linux 上已经用到了poco这一套框架). ...
- netload 加载程序集抛异常----无法加载程序集解决办法
netload 加载程序集抛异常----无法加载程序集 错误信息如下: 无法加载程序集.错误详细信息: System.BadImageFormatException: 未能加载文件或程序集“file: ...
- CloseHandle(IntPtr handle)抛异常
[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static ext ...
- iOS开发——网络篇——UIWebview基本使用,NSInvocation(封装类),NSMethodSignature(签名),JavaScript,抛异常,消除警告
一.UIWebView简介 1.UIWebView什么是UIWebViewUIWebView是iOS内置的浏览器控件系统自带的Safari浏览器就是通过UIWebView实现的 UIWebView不但 ...
- Jetty+json-lib库抛异常的问题解决过程(java.lang.NoClassDefFoundError: net/sf/json/JSONObject)
一.之前抛异常是将json库改成了fastjson解决的,参见: http://www.cnblogs.com/gossip/p/5369670.html 异常信息: 二.解决步骤 ...
- C++11 不抛异常的new operator
在google cpp style guide里面明确指出:we don't use exceptions C++11的noexcept关键字为这种选择提供了便利. C++11以前,提及malloc和 ...
- CloudStack的VO在调用setRemoved方法抛异常的原因
今天在开发中发现一个问题,本来想对一个VO对象的removed值赋值,然后去update一下这条记录,一个最简单的set方法,但是在调用时直接抛异常了. 1: public void setRemov ...
- java通过抛异常来返回提示信息
结论:如果把通过抛异常的方式得到提示信息,可以使用java.lang.Throwable中的构造函数: public Throwable(String message) { fillInStackTr ...
- 扩展方法where方法查询不到数据,不会抛异常,也不是返回的null
如题,“扩展方法where方法查询不到数据,不会抛异常,也不是返回的null”,示例代码如下: Product类: public class Product { private string name ...
随机推荐
- 记录--Js基础练习题目
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.使用js,在页面中打印以下图案 提示: document.write可以在页面中打印内容<br>在html中代表换行, 在 ...
- protected和private继承方式的不同
环境:QT 5.12 继承方式规定了子类如何访问从基类继承的成员.继承方式有public.protected.private三种.继承方式不影响派生类的访问权限,影响了从基类继承而来的成员的访问权限, ...
- .NET分布式Orleans - 2 - Grain的通信原理与定义
Grain 是 Orleans 框架中的基本单元,代表了应用程序中的一个实体或者一个计算单元. 每个Silo都是一个独立的进程,Silo负责加载.管理和执行Grain实例,并处理来自客户端的请求以及与 ...
- 痞子衡嵌入式:给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是给i.MXRT1xxx系列GPIO提早供电会影响DCDC_PSWITCH上电时序导致内部DCDC启动失败. 最近有一个 RW612 产品 ...
- 工具推荐--DRAWIO流程图软件
简介 DRAWIO是一款开源的流程图软件,可以快速绘制各种流程图,支持图形导入和图像插入,且可以类似excel一样分页,能够以最简介的方式实现最复杂的功能; 基础功能 作为一款流程图软件,绘制流程图的 ...
- 如何在windows系统下下载、安装python程序及集成开发环境PyCharm
1.python下载 python下载官网: https://www.python.org/ http://python.p2hp.com/ 中文网 点击进入官网,进入window下载页面. http ...
- Rust 实现日志记录功能
目录 log 日志库标准 简单示例 使用方法 库的开发者 应用开发者 日志库开发者 使用 log4rs 添加依赖 配置文件 运行项目 参考文章 log 日志库标准 log 是 Rust 的日志门面库, ...
- mybatis踩坑之integer类型是0的时候会被认为0!=''是假
当你的参数类型是integer类型,并且传的是0的时候,在SQL里面做if判断的时候 <if test="auditStatus != null and auditStatus != ...
- JDK9的新特性:String压缩和字符编码
目录 简介 底层实现 总结 简介 String的底层存储是什么?相信大部分人都会说是数组.如果要是再问一句,那么是以什么数组来存储呢?相信不同的人有不同的答案. 在JDK9之前,String的底层存储 ...
- CondeseNetV2:清华与华为出品,保持特征的新鲜是特征复用的关键 | CVPR 2021
论文提出SFR模块,直接重新激活一组浅层特征来提升其在后续层的复用效率,而且整个重激活模式可端到端学习.由于重激活的稀疏性,额外引入的计算量非常小.从实验结果来看,基于SFR模块提出的CondeseN ...