1)Exception有一个特殊的子类:RuntimeException
2)RuntimeException类型及其子类型都是属于运行时异常
3)其他类型的异常只要不是继承了RuntimeException类的,都属于编译异常
4)编译异常又称checked异常,运行时异常又称unchecked异常
因为编译器在编译期间如果遇到了checked异常,那么是一定会提示我们,让我们去处理的。但是如果遇到了unchecked异常,编译器是不做任何事情的。
常见的运行时异常:unchecked
java.lang.ArithmeticException
算术异常
java.lang.NullPointerException
空指针引用
java.lang.ArrayIndexoutofBoundsException
数组越界
java.lang.ClassCastException
强制类型转换异常
java.lang.NumberFormatException
数据格式异常
java.lang.NegativeArraySizeException
数组长度为负数异常
常见的编译异常:checked
编译器提示你需要处理的都为编译异常
java.lang.ClassNotFoundException
java.lang.DataFormatException
java.lang.NoSuchMethodException
java.io.IOException
java.sql.SQLException