一、java中的类Error、Exception异同?
相同:
1、都继承java.lang包中的Throwable类
不同:
1、Error属于系统错误,不可能被捕捉,Exception属于应用程序异常,可以通过捕捉避免
2、Error无需在程序中以throws子句抛出,Exception中的检测异常需要throws抛出
3、Error使程序不能运行或者中断,Exception可运行
二、Exception
Exception包括RuntimeException和检测异常,运行时异常可由JVM运行时抛出,无需捕获,不需要try...catch...或throws 机制去处理的异常。检测异常要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。
三、RuntimeException
运行时异常包括:
NullPointorException:空指针异常 原因:字符串未被初始化,未用new创建对象
ClassCastException:类型转换异常
IndexOutOfBoundException:数组越界
ArithmeticException:算术异常
ArrayStoreException:数组存储异常 原因:将类型不一样的值赋给数组元素
BufferOverflowException:缓冲区溢出异常 原因:通过往程序的缓冲区写超出其长度的内容
NumberFornatException: 原因:"123abc"转换为整型
四、检查型异常包括:IOException,SQLException等