2017-10-18 58 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