我有以下代码:
if (errorList != null && errorList.count() > 0)
{
foreach (var error in errorList)
{
throw new Exception(error.PropertyName + " - " error.ErrorMessage, error.EntityValidationFailed);
}
}
为什么当列表中有多个错误时,它仅引发一个异常?
最佳答案
如果由于异常而无法处理,则会中断代码执行。
所以代码像:
foreach (var error in errorList)
{
try
{
throw new Exception(error.PropertyName + " - " error.ErrorMessage, error.EntityValidationFailed);
}
catch(...) {}
}
将引发多个异常,精确的
errorList.Length
时间,将由循环体内的catch(..)
处理,如果不从catch(..)
重新抛出,则将保留在那里。