2011-01-06 99 views
6

只要確保我理解得很好。正確的模式是否正確?首先捕捉最具體的例外情況,以捕捉更廣泛的例外情況,並捕捉一組捕捉塊的結尾處的一般捕捉。Catch塊的順序很重要嗎?

try 
{ 
some code 
} 


catch(SomeSpecificException ex) 
{ 
} 
catch(LessSpecificException ex) 
{ 
} 
catch 
{ 
    //some general exception 
} 
+5

是的,這是正確的順序。 – 2011-01-06 12:14:01

+0

http://stackoverflow.com/questions/3960259/catching-exceptions-c/3960283#3960283的副本? – sloth 2011-01-06 12:24:57

回答

5

我相信它不會讓你按錯誤順序寫它。

這會產生一個錯誤:

try 
{ 
    throw new OutOfMemoryException(); 
} 
catch(Exception ex) 
{ 
    "B".Dump(); 
} 
catch(OutOfMemoryException ex) 
{ 
    "A".Dump(); 
} 
相關問題