面试官问:你知道try...catch放for循环外面和里面有什么区别吗?什么时候放外面,什么时候放里面?

话不多说,我们直接弄两个例子出来看看。

面试官问:你知道try...catch放for循环外面和里面有什么区别吗?什么时候放外面,什么时候放里面?_第1张图片

一个是tryOutside,就是try在for循环外面。

一个是tryInsidr,就是try在for循环里面。

还有一个是自定义运行异常CusException。

代码很容易,就是当i == 3的时候,就抛出一个自定义运行时异常。对比两种运行结果,我们来看看。

运行结果:

面试官问:你知道try...catch放for循环外面和里面有什么区别吗?什么时候放外面,什么时候放里面?_第2张图片

所以也可以得出结论:

try在for循环外面的话,他会终止整个for循环;

try...catch在for循环里面的话,不会终止整个for循环,会执行完整个for循环。

那么什么时候要放外面,什么时候放里面呢,取决于你的使用场景是否要终止。比如有这么一个场景:

我要看看那一批货物产品的不合格零件有多少个,但是如果超过2个的话,就不做继续的统计了。那么这时候我们就可以将try...catch放在for循环外面终止整个for循环。

面试官问:你知道try...catch放for循环外面和里面有什么区别吗?什么时候放外面,什么时候放里面?_第3张图片

如果我们就是要统计这一批货物的不合格数是多少,不想终止的话,那么我们就将try..catch放在for循环里面。

面试官问:你知道try...catch放for循环外面和里面有什么区别吗?什么时候放外面,什么时候放里面?_第4张图片

我们看运行结果,最终还是走完了整个for循环,还是可以统计出不合格数是50。

总结:

try在for循环外面的话,他会终止整个for循环;

try...catch在for循环里面的话,不会终止整个for循环,会执行完整个for循环。

最后:

如果大家觉得这篇文章对你们有所帮助的话,麻烦给个免费的赞赞,谢谢,也祝各位码农在未来的IT道路上越走越远。

你可能感兴趣的:(java)