熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

使用ASP.NET 2.0進行記錄錯誤[2]

2013-11-13 12:12:04  來源: .NET編程 

  按鈕點擊操作代碼如下 

protected void btnHandled_Click(object sender EventArgs e)
    {
        try
        {
            throw new Exception(Sample Exception);
        }
        catch (Exception ex)
        {
            // Log the error to a text file in the Error folder
            ErrHandlerWriteError(exMessage);
        }
    }

  現在運行程序並點擊按鈕因為我們已經在代碼中處理了錯誤和記錄下了異常你會發現當點擊按鈕時似乎什麼也沒發生關閉程序刷新Error文件夾你會看到有個以今天日期為文件名的新文件被創建異常已經被成功記錄下如下所示其中日期和時間在您的機器上會有所不同 

Log Entry :
// ::
Error in:http://localhost:/ErrorHandling/Defaultaspx Error Message:Sample Exception
__________________________

    Redirecting users on unhandled errors(在未有處理錯誤情況下重定向用戶)

  讓我們看看如何在Application級上來捕捉未有錯誤處理而發生的錯誤並將用戶定向到一個不同的頁面

  要捕捉到未有錯誤處理的錯誤只需做以下的工作即可添加一個 Globalasax 文件(右鍵工程項目 > Add New Item > Glabalasax)在當中的 Application_Error() 方法中增加以下代碼 

void Application_Error(object sender EventArgs e)
    {
        // Code that runs when an unhandled error occurs
        Exception objErr = ServerGetLastError()GetBaseException();
        string err = Error in: + RequestUrlToString() +
                          Error Message: + objErrMessageToString();
        // Log the error
        ErrHandlerWriteError(err);
    }

  我們注意到通過使用 ServerGetLastError() 函數來捕捉錯誤當一個未有錯誤處理的錯誤發生時要將用戶重定向到不同的頁面我們要做的是打開你的 Webconfig 文件並定位到 <customErrors> 標簽處並注銷它在移除注釋後標簽看來應該是這樣的 

    <!
            The <customErrors> section enables configuration
            of what to do if/when an unhandled error occurs
            during the execution of a request Specifically
            it enables developers to configure html error pages
            to be displayed in place of a error stack trace       

                  <customErrorsmode=RemoteOnlydefaultRedirect=GenericErrorPagehtm
                        <errorstatusCode=redirect=NoAccesshtm />
                        <errorstatusCode=redirect=FileNotFoundhtm />
                  </customErrors>

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15392.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.