色尼玛亚洲综合影院,亚洲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系列之-深入理解平臺機制與性能影響(下),轉載需保留來源!

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

主站蜘蛛池模板: 杂多县| 雷波县| 青岛市| 巫山县| 大新县| 叙永县| 昭觉县| 合水县| 射阳县| 应城市| 万州区| 辉县市| 定襄县| 咸丰县| 阿瓦提县| 罗定市| 岳池县| 松阳县| 盐源县| 林芝县| 长阳| 锡林浩特市| 阿拉尔市| 关岭| 巴青县| 蕲春县| 玉山县| 平潭县| 扎囊县| 龙门县| 长子县| 洛扎县| 金秀| 伊春市| 宝兴县| 长宁县| 修文县| 皮山县| 漯河市| 林甸县| 金湖县|