0

私はMVC4で作業しています。例外を発生させると、ブラウザに情報が表示されます。代わりに、例外アシスタントで例外情報を取得するにはどうすればよいですか? 提案をありがとう。

4

2 に答える 2

0

Global.asax で例外処理を使用できます。

 protected void Application_OnError( )
    {
        var exception = Server.GetLastError( );
         //handle exception here
    }

例外フィルターを使用することもできます。

MVC アプリケーションのすべてのエラーを処理する「filters.Add(new HandleErrorAttribute())」フィルターを持つメソッド「RegisterGlobalFilters()」があります。「Application_Start()」メソッドによって呼び出されるメソッド「RegisterGlobalFilters()」。

public static void RegisterGlobalFilters(GlobalFiltersCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}

エラー表示

デフォルトで作成されるエラー ビューには、次の HTML が含まれます。

 Collapse | Copy Code
@{
   Layout = null;
}

<!DOCTYPE html>
<html>
<head>
   <meta name="viewport" content="width=device-width" />
   <title>Error</title>
</head>
<body>
   <h2>
       Sorry, an error occurred while processing your request.
   </h2>
</body>
</html>

エラー ビューで例外の詳細にアクセスする:

public class HandleErrorInfo
{   
    public HandleErrorInfo(Exception exception, string controllerName, 
        string actionName);

    public string ActionName { get; }

    public string ControllerName { get; }

    public Exception Exception { get; }
}

詳細については、次のリンクを確認してください。

ASP.NET MVC での例外処理

PD:

web.Config で設定します。

<CustomErrors mode="Off"> 

ブラウザでの例外の監視を停止するには

于 2013-10-02T09:33:37.643 に答える
0

いくつかのメソッドでエラー コントローラーを作成します (各メソッドはエラーです)。

public Class Error : Controller 
{
   public ActionResult ErrorMethodName()
   {
      return View();
   }
}

各 ErrorName.cshtml に、エラーに関する情報を記述します。

他のコントローラーの各メソッドに対して、次のようにします。

   public ActionResult MethodeName()
   {
      try
      {
         // your code
      }
      catch (exception)
      {
         return.RedirectToAction('ErrorMethodName','Error');
      }
   }
于 2013-10-02T10:12:33.130 に答える