微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么我的for-each只抛出一个例外?

我有以下代码
if (errorList != null && errorList.count() > 0)
{
    foreach (var error in errorList)
    {
        throw new Exception(error.PropertyName + " - " error.ErrorMessage,error.EntityValidationFailed);
    }    
}

为什么在列表中出现多个错误时只抛出一个异常?

解决方法

如果没有处理,则Becasue异常会中断代码执行.

所以代码如下:

foreach (var error in errorList)
{
    try 
    {
          throw new Exception(error.PropertyName + " - " error.ErrorMessage,error.EntityValidationFailed);
    }

     catch(...) {}
}

将引发多个异常,准确地说是errorList.Length次,这将由catch(..)处理,如果没有从catch(..)中重新抛出,将保留在循环体内.

原文地址:https://www.jb51.cc/csharp/98823.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐