我正在使用.Net HtmlTextWriter
来生成HTML。使用.Net HtmlTextWriter安全/处理异常?
try
{
htw.RenderBeginTag(HtmlTextWriterTag.Span);
htw.Write(myObject.GenerateHtml());
htw.RenderEndTag();
}
catch (Exception e)
{
GenerateHtmlErrorMessage(htw);
}
在这个例子中,如果一个错误异常被解雇myObject.GenerateHtml()
,我会产生一个很好的错误HTML,但它会通过一个开口span
标签是永远不会关闭之前。
我可以重构它像这样
try
{
string myHtml = myObject.GenerateHtml();
// now hope we don't get any more exceptions
htw.RenderBeginTag(HtmlTextWriterTag.Span);
htw.Write(myHtml)
htw.RenderEndTag();
}
catch (Exception e)
{
GenerateHtmlErrorMessage(htw);
}
现在我的跨度不开“,直到我已经完成了艰难的工作,但是这只是看起来很笨拙我。有什么办法可以用HtmlWriter回滚?即使我不得不使用块的负载。
我目前在.Net 2.0中工作,但在3.5中的解决方案的讨论是可以的。
当我的代码可能抛出异常时,我该如何避免尝试捕获? – tpower 2008-11-13 09:43:44