最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中類的異常處理詳解

 更新時(shí)間:2022年02月16日 09:58:04   作者:Andy阿輝  
大家好,本篇文章主要講的是C#中類的異常處理詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下

前言

日常編碼過程中,最重要的技能不是說你學(xué)會(huì)使用很多最新的編程技術(shù)或者做出一個(gè)高大上的系統(tǒng)。而是你在寫代碼過程中,對(duì)異常的處理,是否系統(tǒng)可以穩(wěn)定,健壯。

對(duì)于異常的處理在C#中是通過try/cath機(jī)制來捕獲的,接下來我們一起來看看。

異常是程序中的運(yùn)行時(shí)錯(cuò)誤,它違法了系統(tǒng)約束或應(yīng)用程序約束,或出現(xiàn)了在正常操作時(shí)未預(yù)料的情形。

比如對(duì)于某些變量的非正常賦值或者在參與運(yùn)算操作時(shí)出現(xiàn)錯(cuò)誤等。

異常

關(guān)于異常,在C#中通過try語句和處理異常機(jī)制類保證異常的捕獲,防止由于異常的未捕獲導(dǎo)致整個(gè)程序出現(xiàn)異常提醒,甚至出現(xiàn)崩潰。

異常的要求

try塊包含為避免出現(xiàn)異常而被保護(hù)的代碼

catch子句部分含有一個(gè)或多個(gè)catch子句。(處理異常代碼段也叫做異常處理子程序)

finally塊含有在所有情況下都要被執(zhí)行的代碼,無論有沒有異常發(fā)生

class Program
{
    static void Main(string[] args)
    {
        try
        {
            //驗(yàn)證是否有異常的代碼
            Ahui hui = new Ahui();
            InfoBase info = (InfoBase)hui;

            Console.WriteLine(hui.GetInfo());
            Console.WriteLine(info.GetInfo());
        }
        catch (Exception ex)
        {
            //捕獲異常,進(jìn)行異常的處理

            throw new Exception("異常向上一層拋出!");
        }            
        Console.ReadKey();
    }
}

在處理業(yè)務(wù)代碼時(shí),必須在剛開始就將邏輯上的錯(cuò)誤都考慮清楚進(jìn)行驗(yàn)證處理,比如判空,非正常值,值類型錯(cuò)誤等。

其次在通過try/catch機(jī)制來捕獲非正常的異常,防止程序出現(xiàn)無法把控的錯(cuò)誤,導(dǎo)致奔潰。

提示:在業(yè)務(wù)程序中盡量少用異常進(jìn)行捕獲,如果條件滿足要第一時(shí)間對(duì)異常進(jìn)行前期處理。<Catch()中的異常處理時(shí)間會(huì)比較長(zhǎng),而且會(huì)導(dǎo)致系統(tǒng)資源被浪費(fèi)(異常實(shí)時(shí)被往上拋出)。>

在C#中有很多不同類型的異常可能被發(fā)生,BCL定義了許多類,每一個(gè)類代表一個(gè)指定的異常類型。當(dāng)一個(gè)異常發(fā)生時(shí),CLR首先創(chuàng)建該類型的異常對(duì)象,其次尋找適當(dāng)?shù)腸atch子句以處理它。(所有的異常類都派生自System.Exception類)

關(guān)于catch()有三種形式,可以處理不同級(jí)別的異常。

第一種 一般異常處理

   try
   {

   }
   catch
   {
       //一般異常處理
       
   }

能接受任何異常,但不能確認(rèn)引起異常的類型??蓪?duì)可能發(fā)生的異常進(jìn)行普通處理和清理。

第二種 特定異常處理

    try
    
    }
    catch(Exception)
    {
        //特定異常處理
        
    }

把一個(gè)異常類的名稱作為參數(shù),匹配該指定類或派生自它的異常類的異常。

第三種 帶對(duì)象的特定異常處理

    try
    
    }
    catch(Exception ex)
    {
        
      throw new Exception(ex.Message);
    }

可提供關(guān)于異常的多種異常信息,匹配指定的異常或派生自它的異常類的異常。通過異常實(shí)例,可得到異常的詳細(xì)信息。

    try
    
    }
    catch (Exception ex)
    {
        //特定異常處理
        throw new Exception(ex.Message);
    }
    finally { 
        //出現(xiàn)異常后的處理機(jī)制

    }

這里需要特別說明下,關(guān)于finally中的代碼,不管異常是否被捕獲,它都會(huì)被執(zhí)行。

在finally中適合存放釋放資源或后續(xù)處理的代碼。

基礎(chǔ)知識(shí)日更已經(jīng)29天,如果大家還想繼續(xù),可以給個(gè)關(guān)注,感謝您的支持。

寄語

人生短暫,我不想去追求自己看不見的,我只想抓住我能看得見的。

總結(jié)

到此這篇關(guān)于C#中類的異常處理詳解的文章就介紹到這了,更多相關(guān)C#類異常處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#自定義控件旋轉(zhuǎn)按鈕功能

    C#自定義控件旋轉(zhuǎn)按鈕功能

    本教程指導(dǎo)如何自定義繪制一個(gè)帶有手自動(dòng)旋轉(zhuǎn)功能的按鈕和帶有標(biāo)題的面板,教程提供詳細(xì)的步驟,方便用戶自定義界面布局,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • C#實(shí)現(xiàn)定時(shí)關(guān)機(jī)小應(yīng)用

    C#實(shí)現(xiàn)定時(shí)關(guān)機(jī)小應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)定時(shí)關(guān)機(jī)小應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • C#中的委托數(shù)據(jù)類型簡(jiǎn)介

    C#中的委托數(shù)據(jù)類型簡(jiǎn)介

    委托是一個(gè)類型安全的對(duì)象,它指向程序中另一個(gè)以后會(huì)被調(diào)用的方法(或多個(gè)方法)。通過本文給大家介紹C#中的委托數(shù)據(jù)類型簡(jiǎn)介,對(duì)c委托類型相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-03-03
  • C#中word導(dǎo)出功能的騷操作詳解

    C#中word導(dǎo)出功能的騷操作詳解

    這篇文章主要給大家介紹了關(guān)于C#中word導(dǎo)出功能騷操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • C#函數(shù)式編程中的緩存技術(shù)詳解

    C#函數(shù)式編程中的緩存技術(shù)詳解

    這篇文章主要介紹了C#函數(shù)式編程中的緩存技術(shù)詳解,本文我們將分成兩部分來講解,第一部分為預(yù)計(jì)算,第二部分則為緩存,需要的朋友可以參考下
    2015-01-01
  • C#控制臺(tái)程序?qū)崿F(xiàn)開啟、關(guān)閉SQLServer服務(wù)的代碼分享

    C#控制臺(tái)程序?qū)崿F(xiàn)開啟、關(guān)閉SQLServer服務(wù)的代碼分享

    這篇文章主要介紹了C#控制臺(tái)程序?qū)崿F(xiàn)開啟、關(guān)閉SQLServer服務(wù)的代碼分享,需要的朋友可以參考下
    2014-05-05
  • C#中RSA加密與解密的實(shí)例詳解

    C#中RSA加密與解密的實(shí)例詳解

    這篇文章主要介紹了C#中RSA加密與解密的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • c#入門之類型轉(zhuǎn)換詳解

    c#入門之類型轉(zhuǎn)換詳解

    這篇文章主要介紹了c#的類型轉(zhuǎn)換詳解,類型轉(zhuǎn)換分兩種形式:隱式轉(zhuǎn)換、顯示轉(zhuǎn)換,下面是詳細(xì)介紹
    2014-04-04
  • C#中static關(guān)鍵字的具體使用

    C#中static關(guān)鍵字的具體使用

    本篇文章詳細(xì)介紹了C#中static關(guān)鍵字的含義、用途、與其他關(guān)鍵字的關(guān)系以及它在不同作用域中的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • C#實(shí)現(xiàn)DVD借出歸還管理系統(tǒng)

    C#實(shí)現(xiàn)DVD借出歸還管理系統(tǒng)

    這篇文章主要介紹了C#實(shí)現(xiàn)DVD借出歸還管理系統(tǒng),類似DVD管理器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06

最新評(píng)論

郓城县| 吉安县| 卓资县| 惠东县| 宁城县| 永嘉县| 贵溪市| 新化县| 蒙阴县| 天水市| 个旧市| 司法| 黔东| 沛县| 收藏| 毕节市| 濮阳市| 会东县| 盐亭县| 宣城市| 正蓝旗| 潼南县| 绥棱县| 南华县| 松阳县| 辽中县| 长顺县| 来凤县| 福安市| 札达县| 钟山县| 井冈山市| 中阳县| 安多县| 息烽县| 福安市| 潼关县| 牟定县| 秦皇岛市| 历史| 东阳市|