HOW TO:Catch 剖析錯誤

這個主題顯示如何偵測格式錯誤或無效的 XML。

LINQ to XML 是使用 XmlReader 實作的。 如果將格式錯誤或無效的 XML 傳遞到 LINQ to XML,基礎 XmlReader 類別將會擲出例外狀況。 剖析 XML 的各種方法 (例如,XElement.Parse) 不會攔截例外狀況。然後,您的應用程式就可以攔截例外狀況。

請注意,如果您使用 XML 常值,就無法取得剖析錯誤。 Visual Basic 編譯器將會攔截格式錯誤或無效 XML 的錯誤。

範例

下列程式碼嘗試剖析無效的 XML:

try {
    XElement contacts = XElement.Parse(
        @"<Contacts>
            <Contact>
                <Name>Jim Wilson</Name>
            </Contact>
          </Contcts>");

    Console.WriteLine(contacts);
}
catch (System.Xml.XmlException e)
{
    Console.WriteLine(e.Message);
}
Try
    Dim contacts As XElement = XElement.Parse("<Contacts>" & vbCrLf & _
        "    <Contact>" & vbCrLf & _
        "        <Name>Jim Wilson</Name>" & vbCrLf & _
        "    </Contact>" & vbCrLf & _
        "</Contcts>")

    Console.WriteLine(contacts)
Catch e As System.Xml.XmlException
    Console.WriteLine(e.Message)
End Try

執行此程式碼時,它會擲回例外狀況:

The 'Contacts' start tag on line 1 does not match the end tag of 'Contcts'. Line 5, position 13.

如需可以預期 XElement.ParseXDocument.ParseXElement.LoadXDocument.Load 方法擲回之例外狀況的詳細資訊,請參閱 XmlReader 文件。

請參閱

概念

剖析 XML