등록 양식의 유효성을 검사 할 때 발생하는 오류를 처리하기 위해 사용자 지정 오류 페이지를 만들려고합니다. 저는 C# ASP.NET MVC 4를 사용하고 있습니다. 여러 가지 방법으로 시도했는데 궁극적으로 다양한 오류가 발생했습니다. 표준 오류를 사용하면 시스템이 제대로 작동하지만 사용자 정의 오류는 작동하지 않습니다.ASP.NET MVC4 사용자 지정 예외 처리 C#
단순히 <customErrors mode="on" />
을 시도하면이 오류가 발생합니다.
런타임 오류
설명 : 서버에서 응용 프로그램 오류가 발생했습니다. 이 응용 프로그램에 대한 현재 사용자 지정 오류 설정을 사용하면 응용 프로그램 오류 의 세부 정보를 볼 수 없습니다.
<customErrors mode="on" defaultRedirect="~/Views/Shared/Error.cshtml" />
를 사용하기 또는 사용자 정의 컨트롤러를 사용하여뿐만 아니라 <customErrors mode="On" defaultRedirect="~/Error' />
이 오류를
런타임 오류
설명을받을 : 귀하의 요청을 처리하는 동안 예외가 발생했습니다. 또한 첫 번째 예외에 대해 사용자 지정 오류 페이지를 실행하는 동안 또 다른 예외가 발생했습니다. 요청이 종료되었습니다. 여기
는
[HttpPost]
public ActionResult Confirm(User data)
{
Boolean error = false;
User newUser = new User(data);
if (ModelState.IsValid)
{
foreach (User u in _users)
{
if (newUser.email.Equals(u.email))
{
error = true;
}
}
if (error == true)
{
throw new Exception("That email already exists!");
}
_users.Add(newUser);
}
else
{
throw new Exception("Invalid data entry, please try again.");
}
return RedirectToAction("Login", "Countdown");
}
Errors.cshtml
@model System.Web.Mvc.HandleErrorInfo
<div class="container">
<div class="row">
<div class="col-xs-1">
<img src="http://i1382.photobucket.com/albums/ah259/rogha189/running-stopwatch-1_zps95faa3c7.jpg" "></div>
<div class="col-xs-1 col-xs-offset-1">
<h3>An Error has occurred.</h3>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-xs-offset-3">
@if (Model != null)
{
<p>@Model.Exception.Message</p>
}
</div>
</div>
"첫 예외에 대해 사용자 지정 오류 페이지를 실행하는 동안 또 다른 예외가 발생했습니다." 디버깅을 시도 했습니까? 실패 할 수없는 페이지를 설정하려 했습니까 (즉, '모델'을 전혀 사용하지 않거나 필요한 모든 null 검사를 수행하지 않았습니다)? –
오류 컨트롤러는 어떻게 생겼습니까? 'HandleErrorInfo' 모델을 올바르게 빌드하고 그것을 뷰에 전달하고 있습니까? –