私はMVC3の初心者です。CRUD操作のためにMCV3アプリケーションを実行しました。
ここで、MVC3 でエラー処理を行いたいと考えています。エラー処理に関する記事をここで見ました。
- MVC でのエラー処理のさまざまな方法について簡単に説明してもらえますか?
- エラー処理を処理するためにカスタム クラスを作成する必要がありますか?
私はMVC3の初心者です。CRUD操作のためにMCV3アプリケーションを実行しました。
ここで、MVC3 でエラー処理を行いたいと考えています。エラー処理に関する記事をここで見ました。
PS私はこの超一般的な質問についての私の理解でこれに答えています。
1-MVCでのエラー処理のさまざまな方法について簡単に説明していただけますか?
グローバルエラー処理
の場合web.configページでcustomErrorsmode= "On"を変更するだけです
。エラーは、共有フォルダにあるError.cshtmlを介して表示されます。
Error.cshtmlレイアウトがnullでないことを確認してください。
[次のようになります:@ {Layout = "〜/ Views / Shared / _Layout.cshtml";
または、Layout = nullコードブロックを削除します]
Error.cshtml
のサンプルマークアップ:-
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@model System.Web.Mvc.HandleErrorInfo
<!DOCTYPE html>
<html>
<head>
<title>Error</title>
</head>
<body>
<h2>
Sorry, an error occurred while processing your request.
</h2>
<p>Controller Name: @Model.ControllerName</p>
<p>Action Name : @Model.ActionName</p>
<p>Message: @Model.Exception.Message</p>
</body>
</html>
特定のエラー処理
の場合
コントローラークラスの特定のアクションにHandleError属性を追加します。その特定のエラーに対して「View」と「ExceptionType」を指定します。
NotImplemented例外ハンドラーのサンプル:
public class MyController: Controller
{
[HandleError(View = "NotImplErrorView", ExceptionType=typeof(NotImplementedException))]
public ActionResult Index()
{
throw new NotImplementedException("This method is not implemented.");
return View();
}
}
2-エラー処理を処理するためにカスタムクラスを作成する必要がありますか?
エラーロギングについては、Elmahライブラリも参照する必要があります。