Tôi đã bật lỗi tùy chỉnh trong webconfig và chuyển hướng đến "/ Lỗi/sự cố". Điều này đang hoạt động như được thiết kế. Elmah đang đăng nhập lỗi. Chế độ xem lỗi cũng đang được hiển thị.asp.net mvc 3 nhận ngoại lệ được ném
Vấn đề là tôi muốn kiểm tra lỗi được ném trong hành động Trouble của bộ điều khiển Lỗi của tôi. Khi một lỗi được ném, làm thế nào để bạn có quyền truy cập vào nó sau khi MVC đã chuyển hướng bạn đến trình xử lý lỗi tùy chỉnh?
Tôi ném một ngoại lệ nếu CurrentUser là null:
if (CurrentUser == null)
{
var message = String.Format("{0} is not known. Please contact your administrator.", context.HttpContext.User.Identity.Name);
throw new Exception(message, new Exception("Inner Exception"));
}
Tôi muốn để có thể truy cập này trong xử lý lỗi tùy chỉnh của tôi ("Lỗi/Rắc rối"). Làm cách nào để bạn truy cập ngoại lệ?
Dưới đây là hành động rắc rối của tôi:
public ActionResult Trouble()
{
return View("Error");
}
Dưới đây là quan điểm của tôi:
@model System.Web.Mvc.HandleErrorInfo
<h2>
Sorry, an error occurred while processing your request.
</h2>
@if (Model != null)
{
<p>@Model.Exception.Message</p>
<p>@Model.Exception.GetType().Name<br />
thrown in @Model.ControllerName @Model.ActionName</p>
<p>Error Details:</p>
<p>@Model.Exception.Message</p>
}
System.Web.Mvc.HandleErrorInfo là mô hình để xem Rắc rối của tôi và nó là trống rỗng. Cảm ơn bạn đã giúp đỡ.
Bạn muốn xem nó trong khi bạn đang gỡ lỗi? – mattytommo
không phải trong khi gỡ lỗi. Tôi muốn các hành động rắc rối để kiểm tra lỗi ném và lấy thông báo lỗi để hiển thị cho người dùng cuối –