一、关于异常的一些面试题
1、请说明throws和 throw的区别?
2、请说明Exception和 RuntimeException的区别和关系?
3、请说明Error和 Exception的区别和联系?
4、请说出五个常见的 RuntimeExcetion
5、请说明异常处理的流程?
1、请说明throws和 throw的区别?
答:
- throws:
I-抛出的是在方法体中可能出现的异常,抛给调用处处理|-声明的位置是在方法名之后
- throw:
|-抛出的手工实例化的异常对象(我们自己创建的一个异常对象),相当于程序出现了一个异常。
|-声明的位置是在方法体之内
2、请说明Exception和 RuntimeException的区别和关系?
答:
- Excetion是 RuntimeException的父类
- Exception类型的异常需要强制进行处理,如果不处理编译无法通过。
- RuntimeException类型异常叫做运行时异常不需要强制处理
3、请说明Error和 Exception的区别和联系?
答:
- Error和 Exception都是 Throwable 的子类
- Excption是异常,在程序运行期间出现的,是可以通过代码进行处理的( try捕获或者抛出)
- Error是错误,是在程序运行之前出现的,比如无加载主类,是不能通过程序代码进行处理的(在编译期间就出现的错误)
4、请说出五个常见的RuntimeExcetion
答:
- ArrayIndexOutOfBoundsException(数组越界异常)
- NumberFormatException(数字格式化异常)
- ArithmeticException(算术异常)
- NullPointerException(空指向异常)
- ClassCastException(类型转换异常)
5、请说明异常处理的流程?
有完整的Java初级,高级对应的学习路线和资料!专注于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!
欢迎关注微信公众号:码邦主