java异常:
顶层类 Throwable,两个实现类Error和Exception;
Error一般与代码无关,是JVM等出现了问题;
Exception 分为Runtime异常和Checked异常;
Checked异常会在写代码时,编译器会要求开发者进行捕获/抛出处理;
Runtime异常一般是代码问题,需要开发者处理,如空指针,下标越界,运算错误等异常。
开发中若需要抛出业务相关的异常,一般都是运行时异常,可以自定义一个业务异常类,继承RuntimeException,抛出业务异常信息。
spring提供了一个注解@ControllerAdvice ,可以对未具体处理的抛出的异常进行统一返回。
顺便提一个面试遇到的问题
try catch finally,可以只写try finally吗,答案是可以的。
try catch finally,可以只写try finally吗,答案是可以的。