1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| @Test public void loopTryCatchTest() throws Exception { Map<String, Object> a = new HashMap(); a.put("a", "1"); a.put("b", null); a.put("c", "3"); for (Map.Entry<String, Object> moEntry : a.entrySet()) { try{ boolean flag = moEntry.getValue().equals("1"); System.out.println(moEntry.getKey() + "," + moEntry.getValue() + "," + flag);
} catch(Exception e){ System.out.println("异常跳出" + e); } }
}
|
执行结果:
1 2 3
| a,1,true 异常跳出java.lang.NullPointerException c,3,false
|
如果try包在for循环外面,则无法达到预期效果,遇到异常抛出,被catch住后,循环无法继续执行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| @Test public void loopTryCatchTest() throws Exception {
Map<String, Object> a = new HashMap(); a.put("a", "1"); a.put("b", null); a.put("c", "3");
try { for (Map.Entry<String, Object> moEntry : a.entrySet()) { boolean flag = moEntry.getValue().equals("1"); System.out.println(moEntry.getKey() + "," + moEntry.getValue() + "," + flag); } }catch (Exception e) { System.out.println("异常跳出" + e); }
}
|