2017-10-18 9 views
0

私はHtmlUtilityを使用してURL呼び出しをレンダリングしています。それはいくつかの例外を抱えていると思われるURLのようです。問題はキャッチがその例外をキャプチャしていないことです。代わりに内部サーバー500をキャプチャします。どのように私はそのURL上の元のエラーをキャプチャできますか?ご協力ありがとうございました!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レスポンスの例外の詳細を渡すには、例外情報を含む新しいレスポンスを作成する必要があります。 「Internal Server error 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