public class Foreach { public static void main(String[] args){ List dogs = listDog(10); try{ dogs.forEach(dog -> { System.out.println(dog.getAge()); throw new RuntimeException("测定时"); }); } catch (Exception e){ System.out.println("异常"); e.printStackTrace(); } } /** * 初始化list * * @param size int * @return list */ public static List listDog(int size) { List list = new ArrayList<>(); for (int i = 0; i < size; i++) { list.add(new Dog(i + 1, "dog " + (i + 1))); } return list; }}
抛出的异常只能是非受查异常,出异常会抛出循环外,

计算机语言源代码
受查异常,需要捕捉,否则编译不过去,