盡管跨語言異常處理 " /> 欧美亚洲第一页,中文字幕免费高清电视剧网站在线观看,孩xxxx性bbbb欧美

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

C#中的異常處理

  通用語言運行時(CLR)具有的一個很大的優勢,異常處理是跨語言被標準化的。一個在C#中所引發的異??梢栽赩isual Basic客戶中得到處理。不再有 HRESULTs  或者 ISupportErrorInfo 接口。
  盡管跨語言異常處理的覆蓋面很廣,你稍為改變編譯器的溢出處理行為,接著有趣的事情就開始了:你處理了該異常。要增加更多的手段,隨后引發你所創建的異常。

  1.1  校驗(checked)和非校驗(unchecked)語句
  當你執行運算時,有可能會發生計算結果超出結果變量數據類型的有效范圍。這種情況被稱為溢出,依據不同的編程語言,你將被以某種方式通知——或者根本就沒有被通知。
      那么,C#如何處理溢出的呢? 要找出其默認行為,請看下面的階乘的例子。
      example 1.1     計算一個數的階乘

Code


1.3  引發異常
    當你必須捕獲異常時,其他人首先必須首先能夠引發異常。而且,不僅其他人能夠引發,你也可以負責引發。其相當
簡單:

throw new ArgumentException("Argument can't be 5");
    你所需要的是throw 語句和一個適當的異常類。我已經從表7.1提供的清單中選出一個異常給這個例子。
    
    Runtime提供的標準異常

異常類型                                                        描述

Exception                                            所有異常對象的基類
SystemException                                      運行時產生的所有錯誤的基類
IndexOutOfRangeException                             當一個數組的下標超出范圍時運行時引發
NullReferenceException                               當一個空對象被引用時運行時引發
InvalidOperationException                            當對方法的調用對對象的當前狀態無效時,由某些方法引發
ArgumentException                                    所有參數異常的基類
ArgumentNullException                                在參數為空(不允許)的情況下,由方法引發
ArgumentOutOfRangeException                          當參數不在一個給定范圍之內時,由方法引發
InteropException                                     目標在或發生在CLR外面環境中的異常的基類
ComException                                         包含COM 類的HRESULT信息的異常
SEHException                                         封裝win32 結構異常處理信息的異常

    然而,在catch語句的內部,你已經有了隨意處置的異常,就不必創建一個新異常??赡茉谏厦娴漠惓]有一個符
合你特殊的要求——為什么不創建一個新的異常?

1.3.1 重新引發異常
    當處于一個catch 語句的內部時,你可能決定引發一個目前正在再度處理的異常,留下進一步的處理給一些外部的
try-catch 語句。該方法的例子如 example 1.8所示。

example 1.8  重新引發一個異常

 

Code

NET技術C#中的異常處理,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 兴和县| 加查县| 南阳市| 宣武区| 比如县| 木兰县| 固阳县| 全州县| 富裕县| 分宜县| 教育| 浦北县| 富裕县| 中阳县| 台湾省| 滁州市| 泰和县| 措美县| 英德市| 阆中市| 岑溪市| 民乐县| 夏津县| 河池市| 洛浦县| 芒康县| 揭东县| 乌审旗| 新兴县| 三明市| 荔浦县| 五莲县| 抚松县| 宁安市| 吴江市| 罗定市| 舟曲县| 黄骅市| 施甸县| 前郭尔| 疏附县|