注意 严格意义来讲,finally里面代码块尽量不要写return,没有意义。此demo只是演示
package com.zcw.demo; import org.apache.commons.lang.StringUtils; /** * @author zhaocunwei * @ClassName: SwitchTryCatch * @Description: switch case 语句中使用try catch语句 * @date 2019/10/31 8:46 */ public class SwitchTryCatch { /** * 模拟报错,查看走try catch语句哪个部分 * @param i * @return */ public static String testSwitchTry(int i){ String result=""; switch (i){ case 0: try{ int a =1/0; break; }catch (Exception e){ e.printStackTrace(); System.out.println("走到这里...."); }finally{ result="finally........"; return result; } case 1: result="1"; break; case 2: result="2"; break; default: result="default"; break; } return result; } public static void main(String[] args) { String s = SwitchTryCatch.testSwitchTry(0); System.out.println(s); } }运行结果:
Connected to the target VM, address: '127.0.0.1:53308', transport: 'socket' java.lang.ArithmeticException: / by zero at com.zcw.demo.SwitchTryCatch.testSwitchTry(SwitchTryCatch.java:22) at com.zcw.demo.SwitchTryCatch.main(SwitchTryCatch.java:46) 走到这里.... finally........