2011-01-06 92 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(); 
} 
相关问题