22 C#中的異常處理入門 try catch throw


軟件運行過程中,如果出現了軟件正常運行不應該出現的情況,軟件就出現了異常。這時候我們需要去處理這些異常。或者讓程序終止,避免出現更嚴重的錯誤。或者提示用戶進行某些更改讓程序可以繼續運行下去。

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

C# 中的異常是對程序運行時出現的特殊情況的一種響應,比如嘗試除以零。或者試圖將一個字符串"aaa"轉換成整數。

異常提供了一種把程序控制權從某個部分轉移到另一個部分的方式。C# 異常處理時建立在四個關鍵詞之上的:trycatchfinallythrow

  • try:一個 try 塊標識了一個將被激活的特定的異常的代碼塊。后跟一個或多個 catch 塊。
  • catch:程序通過異常處理程序捕獲異常。catch 關鍵字表示異常的捕獲。
  • finally:finally 塊用於執行給定的語句,不管異常是否被拋出都會執行。例如,如果您打開一個文件,不管是否出現異常文件都要被關閉。
  • throw:當問題出現時,程序拋出一個異常。使用 throw 關鍵字來完成。

 

語法

假設一個塊將出現異常,一個方法使用 try 和 catch 關鍵字捕獲異常。try/catch 塊內的代碼為受保護的代碼,使用 try/catch 語法如下所示:

 

try
            {
                // 引起異常的語句
            }
            catch (ExceptionName e1)
            {
                // 錯誤處理代碼
            }
            catch (ExceptionName e2)
            {
                // 錯誤處理代碼
            }
            catch (ExceptionName eN)
            {
                // 錯誤處理代碼
            }
            finally
            {
                // 要執行的語句
            }

 

C#提供了很多種異常,我們在這里只要掌握最基本的異常Exception就可以啦。在catch語句中我們只處理Exception這個最基本的異常。

 

下面我們看一個具體的例子,來更加清楚的理解一下C#的異常處理。

 

你創建一個項目。解決方案名稱為Sloution22,項目名稱為Exercise22,項目類型為控制台程序。點擊Program.cs. 在里邊加入這些代碼。

我在這里簡要的說明一下這段代碼。

1. 27行-45行 我們新建了一個ExceptionTest 方法。在這個方法中要求用戶輸入一個整數。如果用戶輸入一個字符串,我們的程序會產生異常。

2. 39行 我們用throw拋出了一個我們自己定義的異常。在里邊加入了我們想傳遞的一些信息。

3. 41行-44行 finally語句是可選的。只有當需要做一些例如資源釋放的操作的時候,才是需要的。不管有沒有異常產生 finally部分都會執行。

4. 13行-23行 調用ExceptionTest方法。同時捕獲異常。

5. 16行 如果調用ExceptionTest方法出現異常,這條語句不會執行。否則正常執行。

6. 21行 輸出異常的簡要信息

7. 22行 輸出異常的詳細信息。例如出錯的代碼位置。

 

運行結果

1. 用戶輸入字符串,產生異常

 

2. 用戶輸入整數,程序正常執行

 

 

練習

  1. 讀懂代碼,在關鍵的地方加上注釋

  2. 查看詳細的錯誤信息,定位是哪一行代碼出現了問題。

  3. 去掉第39行 throw new Exception("轉換出現異常");再次查看詳細的錯誤信息,看看哪一行代碼出現了問題。想想是什么原因。如果不明白,記得咨詢我哦。

  4. finally語句一定會執行嗎?去掉main方法的try catch 語句,調試一下程序。

 

 


付費解答C#入門學習過程中碰到的各種問題。

零基礎學習C#入門,大多數的問題都可以通過自學或借助互聯網解決。

但是還是會有一些問題,不是那么容易解決,成為了你學習的絆腳石。最后甚至造成你學習的半途而廢。通常學習C#編程入門,你會遇到20到30多個你不能很容易解決的問題。

這個時候,你最需要什么呢?

對!一個專業的老師給你幫助!

你在學習本課程中,遇到任何問題都可以通過qq或email想本教程作者進行求助。

只需30元你就可以得到本教程作者的三次專業解答。所以你只需不到300元就可以順利的完成C#入門,從此推開軟件行業的大門。

 

付費方式非常簡單:

用微信掃描下面的二維碼。在付款留言中留下你的qq號或email地址就可以啦。

 

教育不是要便宜,而是要可靠!真正聰明的人,更懂得花錢讓專業的人為自己服務,提高自己的效率。

 

老師qq:2040227296

老師email:2040227296@qq.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM