项目场景:
提示:这里简述项目相关背景:
明明在全局方法上做了异常抛出,但是编译器还是报错,显示这个异常必须用try-catch才能处理???
原因分析:
提示:这里填写问题的分析:
思来,就是和for-each
有关了。
把循环体拿出后果然就不报错了。
那就按照提示try-catch。
- 如放在循环外,显示还是报错。
- 只能在循环内处理
解决方案:
提示:这里填写该问题的具体解决方案:
根本原因: lambda表达式内的异常只能在表达式内捕获处理。
(1)foreach的参数是一个lambda表达式
(2)而lambda表达式内的异常是局部的,只能在表达式内部捕获处理
(3)可以用for循环来规避这个问题