try/catch块的流程控制
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
当你要调用有风险的方法时,有一两件事情可能会发生。该方法若不是成功地把try块完成的话,不然就是会把异常抛给调用方的方法。
try {
Foo f = x.doRiskyThing();
int b = f.getNum();
} catch(Exception ex) {
System.out.println("failed");
}
System.out.println("We made it!");
如果成功:try块会先运行,然后会跳过catch块运行下面的部分。
如果失败:调用doRiskyThing()抛出异常,那么程序会直接跳到catch块执行然后继续下去,也就是说int b = f.getNum();并不会执行,这样很好,因为后面的处理可能依赖之前处理的结果才能正确执行下去。
在线练习
{$ activeFileHint $}