HtmlTextWriter
HTMLを生成するために.Netを使用しています。
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 での解決策についての議論は問題ありません。