我有下面的代码:
----
系统。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