[asp.net-mvc]为什么做我为-每只抛出一个例外?

标签: Asp.net-MVC .Net C#
发布时间: 2016/10/8 0:42:07
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有以下代码︰

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

为什么做它只有一个时引发异常列表中的多个错误?

解决方法 1:

因为异常中断代码执行,如果它不处理。

所以代码喜欢︰

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

     catch(...) {}
}   

会引发多个异常,要精确 errorList.Length 倍,将由 catch(..) ,里面的循环体,如果不重新引发catch(..) ,将留在那里。

赞助商