请问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