C#實驗4 異常處理

iamzxf發表於2015-04-14


一、實驗專案名稱:基本控制結構

二、實驗目的:

(1)理解異常處理的概念。 

(2)掌握異常處理的實現機制。 

(3)瞭解.NET Framework中的常見異常類。 

(4)熟練掌握C#關鍵字try、catch、throw和finally的使用。 

(5)掌握值型別和引用型別的使用;

三、實驗內容:

1、常見的異常類:

Exception:所有異常物件的基類。

SystemException:執行時產生的所有錯誤的基類。

IndexOutOfRangeException:當一個陣列的下標超出範圍時執行時引發。

ArithmeticException 出現算術上溢或者下溢 

DivideByZeroException 除零異常

NullReferenceException:當一個空物件被引用時執行時引發。

InvalidOperationException:當對方法的呼叫對物件的當前狀態無效時,由某些方法引發。 

ArgumentException:所有引數異常的基類。

ArgumentNullException:在引數為空(不允許)的情況下,由方法引發。

ArgumentOutOfRangeException:當引數不在一個給定範圍之內時,由方法引發。 

2、try...throw...catch...finally的機制

除零異常DivideByZeroException

算術上溢或下溢ArithmeticException

陣列下標超出範圍IndexOutOfRangeException

3、下列迴圈一共會被執行多少次

int i = 0;

            while (i < 10)

            {

                try

                {

                    throw new OverflowException();

                }

                catch (ArgumentException)

                {

                    i += 2;

                }

                catch (ArithmeticException)

                {

                    i += 4;

                }

                catch (SystemException )

                {

                    i += 6;

                }

                finally

                {

                    i--;

                }

            }

4、編寫異常處理程式,其功能用於實現銀行存取款過程中可能遇到的情況,用C#的異常處理來實現。 具體要求:

(1)控制檯接受使用者輸入的兩個double型別的值。一個值表示使用者想要存放在銀行賬戶中的金額。另一個值表示使用者想要從銀行賬戶中提取的金額。

(2)建立自定義異常,以確保提取的金額始終小於或等於當前的餘額。引發異常時,程式應顯示一則錯誤訊息。否則,程式應顯示從使用者存款中扣除取款額之後的賬戶餘額。捕獲可能出現的異常。

(3)捕獲可能出現的異常。

(4)finally輸出取款後的餘額。

5、值型別、引用型別:

值型別:型別比較簡單,如整數、浮點數。特點:直接儲存在棧中;

引用型別:型別稍微複雜,如類、字串等;特點:地址儲存在棧中,資料儲存在堆中。資料複製時,把棧中的地址進行復制。