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

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

  三.關于異常捕獲機制

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

  ● 機制分析

  .NET 中基本的異常捕獲與處理機制是由try…catch…finally塊來完成的,它們分別完成了異常的監測、捕獲與處理工作。一個try塊可以對應零個或多個catch塊,可以對應零個或一個finally塊。不過沒有catch的try似乎沒有什么意義,如果try對應了多個catch,那么監測到異常后,CLR會自上而下搜索catch塊的代碼,并通過異常過濾器篩選對應的異常,如果沒有找到,那么CLR將沿著調用堆棧,向更高層搜索匹配的異常,如果已到堆棧頂部依然沒有找到對應的異常,就會拋出未處理的異常了,這時catch塊中的代碼并不會被執行。所以距離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系列之-深入理解平臺機制與性能影響(下),轉載需保留來源!

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

主站蜘蛛池模板: 象州县| 威海市| 太湖县| 东乡县| 通山县| 神木县| 临西县| 天气| 龙南县| 南通市| 平潭县| 淳化县| 景德镇市| 分宜县| 叶城县| 镇江市| 寿宁县| 特克斯县| 新泰市| 望谟县| 嘉义市| 正阳县| 额济纳旗| 平阴县| 廊坊市| 内江市| 大新县| 吴忠市| 屯门区| 库尔勒市| 兴海县| 湘乡市| 岫岩| 保定市| 成武县| 常州市| 如东县| 白城市| 瓦房店市| 崇义县| 化州市|