• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP.Net之C#中的異常處理[1]

    發布: 2008-7-02 18:19 | 作者: ASP.NET 2.0+SQL Serv | 來源: 希賽網 | 查看: 139次 | 進入軟件測試論壇討論

    領測軟件測試網

    ASP.Net之C#中的異常處理[1]

    作者:ASP.NET 2.0+SQL Server 來源:希賽網 

        基礎知識

        程序開發中,數據流按照一定的規律進行傳輸,如果用戶和程序之間的交互完全按照預定的效果運行,程序不會出現問題?梢约僭O所處理的數據都符合要求,通過界面作格式判定,所有資源都正確,但是為了系統的安全,需要處理存在的隱患,不能對數據安全抱有理想化的想法。

        在ASP.NET中,錯誤處理分為兩個層面:頁面輸入信息驗證、CLR提供的結構化錯誤處理機制。

        在頁面輸入信息判斷中,可以采用JavaScript、VBScript等腳本進行判斷,也可以使用.NET 環境下帶有的Validation和正則表達式的方式將信息在提交執行處理前,進行格式判斷。格式判斷包括:網絡地址、電子信箱、輸入字符串長短和輸入信息的數據類型的判斷等。

        結構化異常處理是CLR的基礎部分,具有以下特點:可以跨語言,異?梢栽谝环N語言中引發,在另外一種語言中捕捉處理;分層處理,一個異?梢园硗庖粋異常,這意味著系統可以捕獲底層對象(如數據層和業務層)的異常,引發自己的異常,包含有底層對象的異常。這樣可以將異常進行細致分類,使得異常更容易處理。

        結構化異常處理,一般要使用3部分代碼。
        (1)Try:是程序中可能出現錯誤的操作部分。
        (2)Catch:是用來處理各種錯誤的部分(可以有多個)。必須正確排列捕獲異常的Catch子句,范圍小的Exception放在前面的Catch。即如果Exception之間存在繼承關系,就應把子類的Exception放在前面的Catch子句中。
        (3)Finally 塊的代碼用來清理資源或執行要在Try塊末尾執行的其他操作(可以省略)。無論是否產生異常,Finally塊都會執行。

        結構化異常處理

        異常是在程序設計中無法避免的錯誤,設計的程序必須能夠處理所有可能出現的錯誤。所以要全面考慮異常處理,將一切可能出現異常的代碼都進行try的捕捉,然后建立自己的異常處理機制,按照不同的異常情況進行分類處理。

        異常產生的時候,需要知道是什么原因造成的錯誤以及錯誤的相關信息。根據實際情況拋出具體類型的異常,然后建立捕捉機制,捕捉到異常時做出具體的處理。在編寫代碼過程中,可以使用系統已定義的相關異常類以及自定義的異常類來實例化并拋出需要的異常。如一個不可能實現的接口,可以拋出System.NotSupportedExceptiion的異常來告訴接口的調用者。

        在處理異常的時候,應該將可處理的具體異常分別在catch 塊中作出相應處理,否則程序將終止運行。針對每一種異常,以不同方式處理,避免對所有異常做出一樣的處理。并且在異常產生時,給用戶一個友好的提示(最終用戶對系統異常的具體內容是不明白的,這就需要給出相關的信息提示和解決方案,或告訴聯系管理員等),并在可能的情況下給用戶提供選擇(確定和取消),讓用戶來決定系統的運行方向。同時,程序中要將異常做日志記錄。不是所有異常都是必須記錄的,例如一些可捕捉并且已經安排程序進行處理的異常就不需要記錄它。

    [1

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: asp ASP net NET Net


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>