Java异常相关
面试题总结(4)
1、error和exception有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。是java运行环境中的内部错误或者硬件问题。比如:内存资源不足等。对于这种错误,程序基本无能为力比如说内存溢出。 exception表示一种设计或实现问题。它处理的是因为程序设计的瑕疵而引起的问题或者外在的输入等引起的一般性问题,是程序必须处理的。
2、throws 关键字和 throw 关键字有什么区别和联系?
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。
3、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常或者捕获,但是并不要求必须声明抛出未被捕获的运行时异常。
4、请写出你最常见到的5个runtime exception。
NullPointerException(空指针异常)、
ArrayIndexOutOfBoundsException(数组下标越界)、
ClassCastException(类转换错误)、
ArithmeticException(数学运算异常(如除数为0的异常)) 、
IndexOutOfBoundsException(越界)、
NumberFormatException(数字转换异常)、
EmptyStackException(空栈异常)