加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用Exception类捕获每个异常是否正确?如果不是那么什么

发布时间:2020-12-15 20:50:00 所属栏目:百科 来源:网络整理
导读:使用Exception类捕获每个异常是否正确?如果没有,那么在try catch块中捕获异常的正确序列应该是什么? 例如 try{ . . some code . } catch(Exception ex) { throw ex; } 解决方法 不,这是错的. 仅仅再次投掷是没有意义的. 它重新错误地重新抛出,导致丢失堆栈
使用Exception类捕获每个异常是否正确?如果没有,那么在try catch块中捕获异常的正确序列应该是什么?

例如

try{
       .
       .
       some code
       .
   }
   catch(Exception ex)
   {
       throw ex;
   }

解决方法

不,这是错的.

>仅仅再次投掷是没有意义的.
>它重新错误地重新抛出,导致丢失堆栈跟踪.重新抛出的正确方法(当重新抛出是有道理的时候),简单地说就是:抛出;
>如果你想捕获一个异常然后抛出另一个异常,你应该保留第一个异常作为第二个的内部异常.这是通过将其传递给构造函数来完成的.

底线:只捕捉您知道如何处理的例外情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读