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

.Net Discovery系列之-深入理解平臺機制與性能影響(下)

  三.關于異常捕獲機制

  雖然我們已經(jīng)很辛苦了,但是仍然有很多原因使代碼運行失敗,如引用null引用、索引越界、內存溢出、類型轉換失敗等等。這就需要我們的代碼有足夠的容錯能力,在代碼運行失敗時,及時、主動的處理這些異常。

  ● 機制分析

  .NET 中基本的異常捕獲與處理機制是由try…catch…finally塊來完成的,它們分別完成了異常的監(jiān)測、捕獲與處理工作。一個try塊可以對應零個或多個catch塊,可以對應零個或一個finally塊。不過沒有catch的try似乎沒有什么意義,如果try對應了多個catch,那么監(jiān)測到異常后,CLR會自上而下搜索catch塊的代碼,并通過異常過濾器篩選對應的異常,如果沒有找到,那么CLR將沿著調用堆棧,向更高層搜索匹配的異常,如果已到堆棧頂部依然沒有找到對應的異常,就會拋出未處理的異常了,這時catch塊中的代碼并不會被執(zhí)行。所以距離try最近的catch塊將最先被遍歷到。

  以下代碼:

代碼
try             
{
Convert.ToInt32(
"Try");
}
catch (FormatException ex1)
{
string CatchFormatException = "CatchFormatException";
}
catch (NullReferenceException ex2)
{
string CatchNullReferenceException = "CatchNullReferenceException";
}
finally
{
string Finally = "Finally";
}

NET技術.Net Discovery系列之-深入理解平臺機制與性能影響(下),轉載需保留來源!

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

主站蜘蛛池模板: 青川县| 滨州市| 海原县| 偏关县| 饶平县| 牡丹江市| 阿勒泰市| 浏阳市| 永福县| 桃源县| 菏泽市| 报价| 宣武区| 山阴县| 望江县| 正宁县| 全州县| 河北区| 西华县| 南溪县| 连江县| 老河口市| 康平县| 宁津县| 彰化市| 竹北市| 定兴县| 墨竹工卡县| 达州市| 南充市| 布拖县| 肥城市| 安远县| 桃园县| 石渠县| 舟曲县| 民县| 恩施市| 南投市| 神池县| 寿宁县|