2009-11-14 58 views
2

是否可以使用異常對象來生成正常情況下在ASP.NET中未捕獲異常顯示的HTML頁面?從異常本身生成標準的ASP.NET'未捕獲異常'頁面HTML?

我有捕捉到一個例外Global.asax中的應用程序 - >的Application_Error,並做了Server.Transfer的()我們相當普遍的錯誤頁面。我有一個#if DEBUG標誌,這是從Server.GetLastError()拉出例外,目前正在自定義格式。

但現在我很好奇,如果我能得到正常給出的HTML,並把它的東西像一個jQuery的ThickBox覆蓋的鏈接...

感謝。

回答

2

有兩種選擇:

  • 唯一的例外是一個HttpException:致電GetHtmlErrorMessage(),並得到HTML。
  • 異常不是HttpException:請致電new HttpException (exc.Message, exc).GetHtmlErrorMessage()
+1

+觸摸起來,如果有人有問題 - http://www.groupsrv.com/dotnet/about217784.html – Overflew 2009-11-24 06:29:10

+0

啊,是。如果未爲該線程設置HttpContext.Current,則可能會發生此問題。 – Gonzalo 2009-11-24 14:23:02

+0

注意:我必須創建一個'new HttpUnhandledException'來包裝我的原始異常才能工作。 – 2011-05-18 22:05:39

1

不知道你是否能真正得到訪問生成的HTML而醒目的錯誤,但你已經擁有你的例外對象neeed的信息,這樣你就可以輕鬆地生成相同的頁面:

  • 這只是一個產生錯誤的問題,然後在IE中查看 - >源...複製並粘貼到錯誤頁面,然後替換錯誤文本位。基本上你使用堆棧跟蹤和異常的消息屬性..
+0

噢,我知道異常有我需要的 - 我目前正在呈現它的自定義格式。 我很好奇,如果我可以在一個單一的方法調用MS版本... – Overflew 2009-11-14 04:58:24