1. 程式人生 > >【c#】異常處理:try catch throw

【c#】異常處理:try catch throw

        異常處理,是程式語言或計算機硬體裡的一種機制,用於處理軟體或資訊系統中出現的異常狀況(即超出程式正常執行流程的某些特殊條件)。

也就是說,在程式執行時出現的任何意外或異常情況時,處理這種意外或情況的方法,叫做異常處理。

        C#程式語言本身就提供了這種異常處理機制。

        異常處理的四個關鍵字:Try Catch Throw Finally

        Try:一個try塊標識了一個將被啟用的特定的異常的程式碼塊。通常後面跟一個或多個catch塊。

        Catch:程式通過異常處理程式捕獲異常。Catch關鍵字表示異常的捕獲。

        Throw:當問題出現時,程式丟擲一個異常,使用throw關鍵字來完成。

        Finally:finally塊用於執行給定的語句,不管異常是否被丟擲都被執行。

        簡單來說,在異常處理中,首先需要對可能發生異常的語句進行異常捕捉,try就是用於預測可能出現的異常。catch是捕獲異常。throw則會丟擲。finally則是無論

       是否發生異常,都會執行finally裡的語句。

       程式碼展示:

static void Main(string[] args)
{
	Console.WriteLine(“請輸入除數:”);
	Int num1=int.Parse(Console.ReadLine());
	Console.WriteLine(“請輸入被除數:”);
	Int num2=int.Parse(Console.ReadLine());
	Int res=0;
	Try
       { 
	   Console.WriteLine(“異常前………”);
	   res=num1/num2;
	   Console.WriteLine(“無異常………”);
	   Console.WriteLine(“{0}除以{1}等於:{2}”;num1,num2,res);
       }
       Catch(Exception ex)
      {
	   Console.WriteLine(“出現異常了!!”);
	   Console.WriteLine(ex.Message);
       }
       Finally
       {
	   Console.WriteLine();
	   Console.WriteLine(“計算結束!”);
       }
       Console.Read();
}

 

       如栗子所示,兩個數相除,使用者輸入時沒有限制,很有可能出現除數為零的異常,把它們放在try語句中,當執行到try語句時,出現異常立即退出try語句(說明出現了異常,異常之前的語句要執行,異常後的語句就不執行了),然後執行catch中的語句。不管異常是否出現,finally裡的語句都會執行。

         那麼throw關鍵字如何使用呢?

        上圖:


        如圖所示,throw則用於丟擲異常,把異常返回給程式,除了異常,程式就會中斷,會丟擲異常。(但是並不會定位到出錯的語句) 

        在機房重構中認識到新知識很開心,所以迫不及待的就想要分享了~~