盡管跨語(yǔ)言異常處理 " /> 欧美在线一二三,亚洲成人aaa,99国产精品久久久久久久成人热

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

C#中的異常處理

  通用語(yǔ)言運(yùn)行時(shí)(CLR)具有的一個(gè)很大的優(yōu)勢(shì),異常處理是跨語(yǔ)言被標(biāo)準(zhǔn)化的。一個(gè)在C#中所引發(fā)的異常可以在Visual Basic客戶中得到處理。不再有 HRESULTs  或者 ISupportErrorInfo 接口。
  盡管跨語(yǔ)言異常處理的覆蓋面很廣,你稍為改變編譯器的溢出處理行為,接著有趣的事情就開(kāi)始了:你處理了該異常。要增加更多的手段,隨后引發(fā)你所創(chuàng)建的異常。

  1.1  校驗(yàn)(checked)和非校驗(yàn)(unchecked)語(yǔ)句
  當(dāng)你執(zhí)行運(yùn)算時(shí),有可能會(huì)發(fā)生計(jì)算結(jié)果超出結(jié)果變量數(shù)據(jù)類型的有效范圍。這種情況被稱為溢出,依據(jù)不同的編程語(yǔ)言,你將被以某種方式通知——或者根本就沒(méi)有被通知。
      那么,C#如何處理溢出的呢? 要找出其默認(rèn)行為,請(qǐng)看下面的階乘的例子。
      example 1.1     計(jì)算一個(gè)數(shù)的階乘

Code


1.3  引發(fā)異常
    當(dāng)你必須捕獲異常時(shí),其他人首先必須首先能夠引發(fā)異常。而且,不僅其他人能夠引發(fā),你也可以負(fù)責(zé)引發(fā)。其相當(dāng)
簡(jiǎn)單:

throw new ArgumentException("Argument can't be 5");
    你所需要的是throw 語(yǔ)句和一個(gè)適當(dāng)?shù)漠惓n悺N乙呀?jīng)從表7.1提供的清單中選出一個(gè)異常給這個(gè)例子。
    
    Runtime提供的標(biāo)準(zhǔn)異常

異常類型                                                        描述

Exception                                            所有異常對(duì)象的基類
SystemException                                      運(yùn)行時(shí)產(chǎn)生的所有錯(cuò)誤的基類
IndexOutOfRangeException                             當(dāng)一個(gè)數(shù)組的下標(biāo)超出范圍時(shí)運(yùn)行時(shí)引發(fā)
NullReferenceException                               當(dāng)一個(gè)空對(duì)象被引用時(shí)運(yùn)行時(shí)引發(fā)
InvalidOperationException                            當(dāng)對(duì)方法的調(diào)用對(duì)對(duì)象的當(dāng)前狀態(tài)無(wú)效時(shí),由某些方法引發(fā)
ArgumentException                                    所有參數(shù)異常的基類
ArgumentNullException                                在參數(shù)為空(不允許)的情況下,由方法引發(fā)
ArgumentOutOfRangeException                          當(dāng)參數(shù)不在一個(gè)給定范圍之內(nèi)時(shí),由方法引發(fā)
InteropException                                     目標(biāo)在或發(fā)生在CLR外面環(huán)境中的異常的基類
ComException                                         包含COM 類的HRESULT信息的異常
SEHException                                         封裝win32 結(jié)構(gòu)異常處理信息的異常

    然而,在catch語(yǔ)句的內(nèi)部,你已經(jīng)有了隨意處置的異常,就不必創(chuàng)建一個(gè)新異常。可能在上面的異常沒(méi)有一個(gè)符
合你特殊的要求——為什么不創(chuàng)建一個(gè)新的異常?

1.3.1 重新引發(fā)異常
    當(dāng)處于一個(gè)catch 語(yǔ)句的內(nèi)部時(shí),你可能決定引發(fā)一個(gè)目前正在再度處理的異常,留下進(jìn)一步的處理給一些外部的
try-catch 語(yǔ)句。該方法的例子如 example 1.8所示。

example 1.8  重新引發(fā)一個(gè)異常

 

Code

NET技術(shù)C#中的異常處理,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩精品视频在线 | 亚洲国产成人久久综合一区,久久久国产99 | 亚洲综合在线一区二区 | 成人午夜网站 | 国产精品网址 | 亚洲欧美另类在线观看 | 男人的天堂在线视频 | av电影手机版 | 亚洲综合大片69999 | 免费视频99| 人人操日日干 | 精品久久久久久久久久久久久久 | 蜜桃视频在线观看免费视频网站www | 国产成人福利视频在线观看 | 欧美日韩在线一区二区三区 | 九九热精品视频 | 91传媒在线观看 | 中文字幕一区二区三区精彩视频 | 国产精品久久久久久久久久久免费看 | 91一区二区三区 | 欧美一级视频 | 天堂亚洲 | www性色 | 一区二区三区在线免费观看 | 久久久.com| 亚洲网站在线观看 | 日韩一区二区在线视频 | 免费观看一级毛片视频 | 91在线观看| 久久专区| 成年人在线视频 | 久久99蜜桃综合影院免费观看 | 成人国产综合 | 日韩在线成人 | 免费成人高清在线视频 | 欧美性久久 | av黄色免费在线观看 | 亚洲 精品 综合 精品 自拍 | 国产成人99久久亚洲综合精品 | 丝袜美腿av | 成人片免费看 |