口诀,catch优先return, 无论怎样finally
2019年9月19日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| private void go() { tag = "ldo-"; Log.d(tag, "go: start"); try { Log.d(tag, "go: try 01"); arrayList.get(0); Log.d(tag, "go: return 01"); return; } catch (Exception e) { Log.d(tag, "go: catch01"); e.printStackTrace(); try { arrayList = new ArrayList<>(); arrayList.add(1); } catch (Exception e1) { e1.printStackTrace(); Log.d(tag, "go: catch02"); }
} finally { Log.d(tag, "go: finally"); } }
|
方法第一次执行
猜猜看打印什么
嘟嘟嘟嘟
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
公布
1 2 3 4
| 01-01 01:24:02.567 17772-17772/ D/ldo-: go: start 01-01 01:24:02.567 17772-17772/ D/ldo-: go: try 01 01-01 01:24:02.567 17772-17772/ D/ldo-: go: catch01 01-01 01:24:02.570 17772-17772/ D/ldo-: go: finally
|
第二次执行
嘟嘟嘟
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 2 3 4
| 01-01 01:27:29.302 17772-17772/ D/ldo-: go: start 01-01 01:27:29.302 17772-17772/ D/ldo-: go: try 01 01-01 01:27:29.302 17772-17772/ D/ldo-: go: return 01 01-01 01:27:29.302 17772-17772/ D/ldo-: go: finally
|
别忘了会执行finally哦~
最后考大家一个, 大家加油哦 ~. ~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| private void go() { tag = "ldo-"; Log.d(tag, "go: start"); try { Log.d(tag, "go: try 01"); arrayList.get(0); Log.d(tag, "go: return 01"); return; } catch (Exception e) { Log.d(tag, "go: catch01"); e.printStackTrace(); try {
arrayList.add(1); Log.d(tag, "go: try 02"); Log.d(tag, "go: return 02"); return; } catch (Exception e1) { e1.printStackTrace(); Log.d(tag, "go: catch02"); return; }finally { Log.d(tag, "go: finally 02"); }
} finally { Log.d(tag, "go: finally 01"); } }
|