다음을 통해 공유


방법: 구문 분석 오류 Catch

이 항목에서는 잘못 구성되었거나 유효하지 않은 XML을 검색하는 방법을 보여 줍니다.

LINQ to XML은 XmlReader를 사용하여 구현됩니다.잘못 구성되었거나 유효하지 않은 XML이 LINQ to XML에 전달되면 기본 XmlReader 클래스에서 예외를 throw합니다.XML의 구문을 분석하는 XElement.Parse와 같은 다양한 메서드는 예외를 catch하지 않습니다. 예외는 응용 프로그램에 의해 catch될 수 있습니다.

XML 리터럴을 사용하는 경우에는 구문 분석 오류를 가져올 수 없습니다.Visual Basic 컴파일러는 잘못 구성되었거나 유효하지 않은 XML의 오류를 catch합니다.

다음 코드에서는 유효하지 않은 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

이 코드를 실행하면 다음 예외가 throw됩니다.

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

XElement.Parse, XDocument.Parse, XElement.LoadXDocument.Load 메서드가 throw할 수 있는 예외에 대한 자세한 내용은 XmlReader 문서를 참조하십시오.

참고 항목

개념

XML 구문 분석