/**
*
* 1、finally 中声明的 代码正常是一定会被执行的。即使catch 中出现了异常、try中有return的语句
* catch 中有return语句的情况
* 2、什么时候需要在finally 中写代码呢
* 2.1 常见的物理连接如数据库、流、socket
* 3、finally 一定会被执行吗?
* 3.1 如果 try 没有执行
* 3.2 try中系统退出
* 4、什么时候需要try catch
* 4.1针对编译时的异常才需要try catch,运行时异常不用try catch 例如空指针异常,catch住也没啥意思,如果是空
* 指针异常需要改代码了。
* 4.2由于运行时异常比较的常见,针对运行时异常都不用try catch 这个很重要
*/


@RestController
public class ExceptionTestController {

@RequestMapping("/testException")
public int testException(){
String str = "s123";
try {
int num = Integer.parseInt(str);
System.out.println("没有出现异常十三水 ");
return 1;
}catch (Exception e){
e.printStackTrace();
System.out.println("出现了异常");
return 2;

}finally {
System.out.println("执行了");
//这里也有return 最后的返回结果是啥呢 答案是 3
/**
* try 或者 catch 里面执行完了 要return 时先执行 finally,结果finally里面有 return
* 结果就返回了 finally 里面的值
*
*/
return 3;
}
}

}