2017-10-18 128 views
0

我正在使用HtmlUtility來呈現url調用。它似乎調用的網址有一些例外。問題是捕獲不捕獲該異常。它取而代之的是一個內部服務器500.有誰知道我如何捕捉網址上的原始錯誤?感謝您的幫助!vb/asp.net:從url重定向獲取實際異常消息

Try 
    htmlUtility.LoadUrl(request.UrlToGenerateFrom) 
catch ex As Exception 
    Throw New InvalidEmailRenderException("aspNetEmail failed to load page. URL: " & request.UrlToGenerateFrom, ex) 
End Try 

回答

0

要通過HTML中的響應異常的詳細信息,你必須創建一個包含在它的異常信息的新的反應。當您看到「內部服務器錯誤500」時,這是因爲您在示例代碼中重新拋出異常。

如果您使用的是MVC或WebAPI模式,則可以使用HttpResponseMessage類根據錯誤修改HTTP狀態代碼。

實施例:

Public Class ProductController 
Inherits System.Web.Mvc.Controller 

Function Index() As ActionResult 
    Dim htmlUtility As HtmlUtility 

    Try 
     htmlUtility.LoadUrl(request.UrlToGenerateFrom) 
    Catch ex As Exception 
     ' Change status code in HTTP response. 
     Return New HttpResponseMessage(HttpStatusCode.BadGateway) 
    End Try 
End Function 

End Class