亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

如何用C#創(chuàng)建用戶自定義異常淺析

 更新時(shí)間:2021年06月20日 11:20:01   作者:conan5566  
雖然在 C# 語言中已經(jīng)提供了很多異常處理類,但在實(shí)際編程中還是會(huì)遇到未涉及的一些異常處理,這篇文章主要給大家介紹了關(guān)于如何用C#創(chuàng)建用戶自定義異常的相關(guān)資料,需要的朋友可以參考下

概述

異常是在程序執(zhí)行期間出現(xiàn)的問題。C# 中的異常是對程序運(yùn)行時(shí)出現(xiàn)的特殊情況的一種響應(yīng),比如嘗試除以零。異常提供了一種把程序控制權(quán)從某個(gè)部分轉(zhuǎn)移到另一個(gè)部分的方式。C# 異常處理時(shí)建立在四個(gè)關(guān)鍵詞之上的:try、catch、finally和throw。

try:一個(gè) try 塊標(biāo)識(shí)了一個(gè)將被激活的特定的異常的代碼塊。后跟一個(gè)或多個(gè) catch 塊。catch:程序通過異常處理程序捕獲異常。catch 關(guān)鍵字表示異常的捕獲。finally:finally 塊用于執(zhí)行給定的語句,不管異常是否被拋出都會(huì)執(zhí)行。例如,如果您打開一個(gè)文件,不管是否出現(xiàn)異常文件都要被關(guān)閉。throw:當(dāng)問題出現(xiàn)時(shí),程序拋出一個(gè)異常。使用 throw 關(guān)鍵字來完成。

自定義異常

您也可以定義自己的異常。用戶自定義的異常類是派生自 ApplicationException 類。

using System;
namespace UserDefinedException
{
   class TestTemperature
   {
      static void Main(string[] args)
      {
         Temperature temp = new Temperature();
         try
         {
            temp.showTemp();
         }
         catch(TempIsZeroException e)
         {
            Console.WriteLine("TempIsZeroException: {0}", e.Message);
         }
         Console.ReadKey();
      }
   }
}
public class TempIsZeroException: ApplicationException
{
   public TempIsZeroException(string message): base(message)
   {
   }
}
public class Temperature
{
   int temperature = 0;
   public void showTemp()
   {
      if(temperature == 0)
      {
         throw (new TempIsZeroException("Zero Temperature found"));
      }
      else
      {
         Console.WriteLine("Temperature: {0}", temperature);
      }
   }
}

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

TempIsZeroException: Zero Temperature found

拋出對象

如果異常是直接或間接派生自 System.Exception 類,您可以拋出一個(gè)對象。您可以在 catch 塊中使用 throw 語句來拋出當(dāng)前的對象,如下所示:

Catch(Exception e)
{
   ...
   Throw e
}

總結(jié)

到此這篇關(guān)于如何用C#創(chuàng)建用戶自定義異常的文章就介紹到這了,更多相關(guān)C#用戶自定義異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#實(shí)現(xiàn)中文驗(yàn)證碼的示例代碼

    C#實(shí)現(xiàn)中文驗(yàn)證碼的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)中文驗(yàn)證碼功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#使用SqlServer作為日志數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)

    C#使用SqlServer作為日志數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于C#使用SqlServer作為日志數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • C#中List<T>存放元素的工作機(jī)制

    C#中List<T>存放元素的工作機(jī)制

    這篇文章介紹了C#中List<T>存放元素的工作機(jī)制,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • C#使用dir命令實(shí)現(xiàn)文件搜索功能示例

    C#使用dir命令實(shí)現(xiàn)文件搜索功能示例

    這篇文章主要介紹了C#使用dir命令實(shí)現(xiàn)文件搜索功能,結(jié)合具體實(shí)例形式分析了C#調(diào)用與使用cmd命令相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • C#中調(diào)整圖像大小的步驟詳解

    C#中調(diào)整圖像大小的步驟詳解

    這篇文章主要介紹了C#中調(diào)整圖像大小的步驟詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Unity3D繪制地形的實(shí)現(xiàn)方法

    Unity3D繪制地形的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Unity3D繪制地形的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#中dynamic的使用方法及應(yīng)用場景

    C#中dynamic的使用方法及應(yīng)用場景

    在 C# 編程中,dynamic 類型是一個(gè)非常特殊的類型,它在編譯時(shí)并不會(huì)進(jìn)行類型檢查,而是在運(yùn)行時(shí)才進(jìn)行類型解析,本文將詳細(xì)講解 dynamic 的使用方法、優(yōu)缺點(diǎn)以及一些實(shí)際應(yīng)用場景,需要的朋友可以參考下
    2024-08-08
  • C#事件中關(guān)于sender的用法解讀

    C#事件中關(guān)于sender的用法解讀

    這篇文章主要介紹了C#事件中關(guān)于sender的用法解讀,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • C#封裝的常用文件操作類實(shí)例

    C#封裝的常用文件操作類實(shí)例

    這篇文章主要介紹了C#封裝的常用文件操作類,實(shí)例分析了C#文件操作的技巧,涉及C#的讀寫、復(fù)制、刪除等常用操作,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C#創(chuàng)建一個(gè)Word并打開的方法

    C#創(chuàng)建一個(gè)Word并打開的方法

    這篇文章主要介紹了C#創(chuàng)建一個(gè)Word并打開的方法,實(shí)例分析了C#操作word的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評論