|
前幾天,有一個(gè)朋友問我為什么在.NET里不能捕捉(catch)到一些異常了,而且在調(diào)試器里也捕捉不到。研究了一下,是.NET 4.0里新的異常處理機(jī)制搗的鬼。
在.NET 4.0之后,CLR將會(huì)區(qū)別出一些異常(都是SEH異常),將這些異常標(biāo)識(shí)為破壞性異常(Corrupted State Exception)。針對(duì)這些異常,CLR的catch塊不會(huì)捕捉這些異常,即使你用類似下面的代碼:
try
{
TestMethod();
}
catch (Exception e)
{
Console.WriteLine("Catching exception: {0}", e);
}
NET技術(shù):.NET 4.0里異常處理的新機(jī)制,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。