仍然得到NullReferenceException即使我使用try{}catch{}



我有下面的代码:

----

系统。NullReferenceException online:downloadLinkList.Add (item.SelectSingleNode("。//a" .Attributes["href" value);

我怎样才能正确处理它,使它不再崩溃?在我的印象中,它应该直接跳过。

使用break也不是一个选项,因为我仍然想要某些页面的信息,它没有所需的href

Try/Catch机制不会阻止异常的发生。它将防止它传播/冒泡。

try
{
downloadLinkList.Add(item.SelectSingleNode(".//a").Attributes["href"].Value);
}
catch(NullReferenceException)
{
Console.WriteLine("NullReferenceException in TaskId: " + taskId);
}
Console.WriteLine("Hello");

没有try/catch机制的"Hello"将永远不会被打印,因为异常中断了正常的代码流。通过捕获异常,您可以对异常做一些事情,而其余的代码可以继续。

但是你的IDE可能会中断执行以显示异常(取决于你的设置),但是你可以直接点击"continue"(F5),它会继续到你的Console.WriteLine

最新更新