您现在的位置是:首页 > 文章详情

c# throw和throw ex

日期:2018-09-24点击:308
原文: c# throw和throw ex

c# throw和throw ex

我们在日常开发当中,经常会用到exception异常,并且我们会在exception中的catch块中throw exception,例如:

static void M3() { try { //你的业务代码 } catch (Exception ex) { throw ex; } } 

 

但是大家是否清楚在catch块中 throw和throw ex的区别呢?在一次电话面试中,面试官就问到这个问题了,当时没有答上来,

事后经过测试才知道两者的区别,其实只要自己测试一下,就知道两者之间的区别了,测试代码:

 

1.    throw ex 测试

using System; namespace MuzizMH.Test { class Program { static void Main(string[] args) { M2(); } static void M1() { throw new Exception("M1 Exception"); } static void M2() { try { M1(); } catch (Exception ex) { throw ex; } } } } 

 在main函数中明显会抛出异常,但是请注意异常信息:

错误信息行号分别为:24和8

 

2.    throw 测试

错误信息行号分别为:13、24和8

 

总结:相比上面的测试结果,测试2的结果多出了一个行号,也就是M1方法手动抛出的异常,在日常调试中,这个才是我们想要的结果,我们想要清楚的知道具体的错误代码行,以便准备无误的解决错误。

 

欢迎任何形式的转载,但请务必注明出处。

文案功底有限,码字不易,不喜勿喷,如果文章和代码有表述不当之处,还请不吝赐教。

 

原文链接:https://yq.aliyun.com/articles/677251
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章