전역 예외 처리 기술을 구현하여 내 컨트롤러의 모든 동작에서 try/catch 블록을 사용하지 않도록하지만 오버라이드 된 OnException 메서드가 중단되기 전에 응용 프로그램이 충돌합니다. 또는 ErrorHandleAttribute에 도달했습니다.ASP.NET MVC 5의 ErrorHanldeAttribute 또는 OnException 메서드가 예외를 처리하지 않음
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Test()
{
throw new Exception("Exception Test");
}
protected override void OnException(ExceptionContext filterContext)
{
if (filterContext == null || filterContext.ExceptionHandled)
{
return;
}
var message = filterContext.Exception.Message;
filterContext.Result = new HttpStatusCodeResult(HttpStatusCode.BadRequest, message);
filterContext.ExceptionHandled = true;
}
}
하고있는 Web.Config에서 : 여기
는 단순화 된 테스트 코드<system.web>
<customErrors mode="On" defaultRedirect="Error"/>
나는 '던져'줄에 중단 점을 설정하고 액세스/홈하려고하면/테스트 내 응용 프로그램이 충돌합니다 및 OnException 메서드 및 HandleErrorAttribute 경우에만 이후에 도달합니다.
내가 누락 된 항목이 있습니까?
감사합니다.
관련 : [신비성을 ASP.NET MVC 5 오류 페이지 및 오류 로깅 (https://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-logging) – NightOwl888
@ NightOwl888 훌륭한 기사! 나는 거기에 묘사 된 마지막 네 가지 방법을 구현하려고 시도했다. (처음 두 가지는 처음에 내가 가진 것들 이었지만) 성공하지 못했다. 그 중 하나가 트리거되기 전에 내 응용 프로그램이 중단됩니다. – ceferrari