我正在使用.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