我用C#编写了一个代码 - XML,用于检查给定XML文档中是否存在值,并打印该值以及与该值关联的特定标记。 当我们输入内部文本的值时,它将在文档中查找值并找到它。我不明白当文档中没有输入值时要捕获的异常。
我试过这样做,但它不起作用。
1
if (inpXMLString != AppChildNode.InnerText)
throw new InvalidDataException("The entered value" + " " + inpXMLString + " " + "doesnot exist");
此处:inpXMLstring
=输入值;
AppChildNode.InnerText
=搜索到的代码的值。
2
catch (System.Xml.XmlException e1)
{
Console.WriteLine(e1.Message);
}
当XML文档中没有输入的值时,这不会给出任何异常。
请在这方面帮助我。
答案 0 :(得分:0)
看起来代码捕获的异常不同于它抛出的异常。该代码似乎抛出InvalidDataException但捕获System.Xml.XmlException。以下是一些关于异常处理的文章:
http://msdn.microsoft.com/en-us/library/ms173160(VS.80).aspx
http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=128
答案 1 :(得分:0)
像这样:
void DoSomething()
{
try
{
/*
* Do Something Useful.
*/
CheckValue("Hello");
}
catch (InvalidDataException e)
{
Console.WriteLine(e.Message);
}
}
private void CheckValue(string inpXMLString)
{
if (inpXMLString != AppChildNode.InnerText)
throw new InvalidDataException("The entered value" + " " + inpXMLString + " " + "doesnot exist");
}