我可以使用uncaughtexceptionhandler移动到下一个代码块吗?

时间:2013-09-12 17:44:39

标签: android uncaughtexceptionhandler

我可以使用uncaughtexceptionhandler来忽略异常并继续前进吗? 如果我可以,如何编写该处理程序?

例如:

try{
  //something
}catch(exception e){
  //something
}

//AND WHEN SOME UNCAUGHT EXCEPTION APPEAR, IGNORE EXCEPTION AND MOVE TO NEXT STEP

try{
  //something else
}catch(exception e){
  //something else
}

感谢您的关注

1 个答案:

答案 0 :(得分:0)

即使抛出但未处理异常,您也可以使用try .. (catch) .. finally构造来执行代码。

try {
    // do things that can throw an exception
} finally {
    // this block is !always! executed. Does not matter whether you
    // "return"ed, an exception was thrown or everything was just fine.
}

如果您在其中添加catch,则执行顺序为try,直至发生异常,然后是第一个适当的catch块,然后是finally块。

如果只想在 no 异常中执行finally块中的代码,请将一些标志设置为try块的最后一个操作。

boolean doFinally = true;
try {
    // flag stays "true" if something throws here
    doFinally = false;
} finally {
    if (doFinally) {
        // do something
    }
}

注意:如果你的某个地方没有catch未被捕获的异常,那么你的应用程序在finally中完成代码后仍然会崩溃。