我有一个循环运行多次并且容易出现异常(它是基于网络的)。但是,我不想直接从方法中抛出任何东西,因为我希望它在下一次迭代中移动,以防出错。所以我所做的是我添加了一个调用者传递的引用参数,所有的异常都放在那里。
我想向用户返回异常以及错误 URL,所以我创建了以下对象:
class KeywordException
{
Exception ex;
string faultURL;
}
它返回给用户ref List<KeywordException> exceptions
好的,到目前为止一切都很好,我发现了这样的异常:
catch (ArgumentNullException ane)
{
exceptions.Add(new KeywordException(ane, URL));
continue;
}
它可以工作并将异常返回给用户,但是我如何从调用代码中知道异常实际上是什么?我得到的只是在这种情况下Exception
它实际上是一个ArgumentNullException
。