面试的时候,估计你们大部分都会在网上搜(都是过来人,别不好意思承认),我手里有一些面试题,有点多,我就分开给你们,希望你们能刚好搜到这道题,又刚好回答的漂漂亮亮,精精彩彩!
1,运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常
异常的分类
在Java中异常分为两大类:编译异常和运行异常
运行异常即是RuntimeException;其余的全部为编译异常
JAVA中的异常体系
在Java中异常Exception和错误Error有个共同的父类Throwable.
运行报错一般有这几种
IO操作的BufferOverflowException异常
ClassCastException
类型转换异常
ArrayStoreException
(数据存储异常,操作数组时类型不一致)
ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
jArithmeticException
算术条件异常。譬如:整数除零等。
NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调 用 null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常