Java1.8的stream流中的异常处理测试

遍历数据对其进行一系列的操作.之前都是for循环,现在有了stream流就方便快捷多了.最近在使用过程中发现了一个小问题.

就是遍历数据时需要调用一个抛出异常的方法(闲话少叙,直接上图):

Java1.8的stream流中的异常处理测试

循环list数据调用testException方法,该方法抛异常,for循环中调用该方法时,testFind1方法也抛异常了(此时可以不捕捉被调用方法的异常).运行结果:

Java1.8的stream流中的异常处理测试

遇到异常直接停止了,没有往下运行.

使用了try,catch捕捉异常并交给JVM处理异常后:

Java1.8的stream流中的异常处理测试

遇到了异常后,跳过了异常接着往下运行了.

如果手动抛出异常:

Java1.8的stream流中的异常处理测试

遇到异常,直接停止运行.

在stream流中的运行测试:

Java1.8的stream流中的异常处理测试

异常必须try,catch捕捉:

在catch代码块中手动抛出异常:

Java1.8的stream流中的异常处理测试

 

遇到异常,停止运行.

接着测试把异常交割JVM处理:

Java1.8的stream流中的异常处理测试

结果是遇到异常跳过异常接着运行以后的代码.