如何捕獲NullReferenceException如果'SelectNodes'返回的foreach循環出錯NULL?NullReferenceException在使用HTMLNode的foreach循環中的錯誤
我在stackoverflow上搜索並發現提到可用於捕獲此錯誤的空合併條件(??條件),但是,我不知道HTMLNode的語法是什麼,或者如果這是偶數可能。
foreach (HtmlNode link in imagegallery.DocumentNode.SelectNodes("//a[@href]"))
{
//Do Something
}
你會如何在這個循環中使用NULL EXCEPTION,還是有更好的方法來做到這一點?
下面是完整的代碼拋出異常 -
private void TEST_button1_Click(object sender, EventArgs e)
{
//Declarations
HtmlWeb htmlWeb = new HtmlWeb();
HtmlAgilityPack.HtmlDocument imagegallery;
imagegallery = htmlWeb.Load(@"http://adamscreation.blogspot.com/search?updated-max=2007-06-27T10:03:00-07:00&max-results=20&start=18&by-date=false");
foreach (HtmlNode link in imagegallery.DocumentNode.SelectNodes("//a[@imageanchor=1 or contains(@href,'1600')]/@href"))
{
//do something
}
}
你可以發表你的logcat的錯誤及整個代碼.. –
...添加它,正在加載的網頁不包含XPath的引用節點,所以我假定的NullReferenceException是由引起...有沒有辦法使用空合併運算符? –