1、什么是异常?异常的种类有哪些?
2、Throw和Thorwos和Throwable的区别?
Throw是抛出异常,Thorwos是声明可能抛出的异常,Throwable是error和execption的父类
3、常见的运行期异常有哪些?
除0、空指针、数组越界、强制类型转换异常(ClassCastException,string转int)、方法的参数无效(IllegalArgumentException,
比如日期格式转换的时候,传入错误的格式)、数据格式异常(NumberFormatException,null转int)JAVA运行时系统找不到所引用的类
(NoClassDefFoundException)
4、如何捕获全局异常?
第一步,写一个全局异常捕获类,在类上加上@ControllerAdvice注解
第二步,创建一个异常处理方法,使用@ExceptionHandler(value = Exception.class)捕获指定异常
第三步,对参数Exception e进行处理
5、常见的Error有哪些?
Error类及其子类表示运行时错误,通常是由Java虚拟机抛出的,程序本身无法修复
比如OutOfMemoryError:内存溢出、内存泄漏
6、可检查异常和不可检查异常的区别?
运行期异常就是不可检查异常,Execption除了运行期异常之外的都是可检查异常,必须用throw抛出异常或者使用try/catch处理异常
7、finally语句块一定执行吗?
三种不会执行的情况
(1)直接返回未执行到finally语句块 在try之前return
(2)抛出异常未执行到finally语句块 在try之前就抛出异常
(3)系统退出未执行到finally语句块 system.exit(0)