请问try catch里面可以套try catch吗?
请教个问题,try catch里面可以套try catch吗?
比如
try
{
....
try
{
}
catch{};
....
}
catch
{
}
里面套个try catch主要是因为里面的异常就是出现了,也没有什么大后果,所以打算忽略掉
[解决办法]
可以啊。怎么说我回复太短
[解决办法]
当然可以嵌套
不过你可以通过不同catch来处理不同异常
例如
- C# code
try{ //可能发生异常的操作}catch(IOException ioex){ //发生IOException 时的处理}catch(NullPointerException nullPEx){ //发生空指针异常的处理}catch(Exception ex){ //发生其他异常时的处理操作。}
[解决办法]
不推荐这么干,因为异常处理耗资源
[解决办法]
这是没有问题的!注意别给自己套晕了就成。最多套3-5层就可以了。。多了代码就乱了。
[解决办法]
可以。
这还有个专门的名词,叫结构化异常处理(SEH)。
[解决办法]
可以。
[解决办法]
[解决办法]
问对问题很关键。能不能的问题自己试试就有答案了。你该问:这么做好么?
[解决办法]
尽量不要这么做。。
[解决办法]
[解决办法]
[解决办法]
还分层处理吧 每层有个 就已经比较多了
[解决办法]
嵌套是可以的,但是正像楼上几位说的,不建议这么做
你可以多几个catch
[解决办法]
可以的
[解决办法]
结贴给分吧。
[解决办法]
可以使可以的,但是不推荐这么做
[解决办法]
[解决办法]
9楼正解
一个try可以多个catch,不建议嵌套使用
[解决办法]
可以,但推荐一个try 多个catch
[解决办法]
try
{
//A
try
{
//B
}
catch
{
//C
}
finally
{
//D
}
//E
}
catch
{ ... }
finally
{ ... }
抛出异常在:内层A,E处由外层catch块捕获,并执行外层finally
抛出异常在:内层B处,且有一合适内层catch捕获,执行内层finally,后执行E处
抛出异常在:内层B处,但内层catch块没有合适处理程序,执行内层finally,搜索外层catch,找合适的,执行外层finally,此时不会执行E
抛出异常在:内层C处,退出内层catch块,执行内层finally,搜索外层catch,找到合适,执行外层finally
抛出异常在:内层D处,退出内层finally块,搜索外层catch,找到合适,执行外层finally
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lulu_jiang/archive/2010/06/22/5685932.aspx