异常(Java面试题)

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)

8、final、finally、finalize的区别?

发布了51 篇原创文章 · 获赞 2 · 访问量 1854

猜你喜欢

转载自blog.csdn.net/qq_42972645/article/details/105658035