Hot*_*ter 20 .net c# asp.net c#-4.0
可能重复:
嵌套的Try/Catch阻止了一个坏主意吗?
目前我在try catch中使用try catch?目前的Senario在我们的申请中要求它.
void MyFun()
{
try
{
//Process logic 1
// ......
try
{
//Process logic 2
// ......
} catch (Exception ex)
{
//write an error details in database
}
//Process Logic 3
// ......
} catch (Exception ex)
{
//show error msg
}
}
Run Code Online (Sandbox Code Playgroud)
Ita*_*aro 14
没有特别的问题,特别是如果你想以不同的方式处理异常.
但是,如果内部异常和外部异常分别具有不同的类型E1, E2且E1不是父类E2,则可以有两个相邻的catch子句.
try
{
// do something
}
catch (E1 e1)
{
}
catch (E2 e2)
{
}
Run Code Online (Sandbox Code Playgroud)
正如Rob和J.Steen所述 - 这与问题中的情况略有不同,因为在这种情况下E1抛出代码后它将不会被执行.