throw和throws
- throw用在方法内部,只能抛出一种异常
- throws用在方法声明,可以抛出多种异常
都有哪些异常
- illegalAccessError:违法访问错误。比如访问一个类的private
- InstantiationError:实例化错误。比如new一个抽象类
- OutOfMemoryError:内存不足错误,OOM。当可用内存不足时发生
- StackOverflowError:堆栈溢出错误。递归调用太深或死循环时抛出
- ClassCastException:类造型异常。强制类型转换错误时抛出
- ClassNotFoundException:找不到类异常。
- NoSuchFieldException:属性不存在异常。
- NoSuchMethodException:方法不存在异常。
- ArithmeticException:算数异常。比如整数除零
- InstantiationExcetion:实例化异常,比如通过newInstance方法创建抽象类
- ArrayIndexOutOfBoundsException:数组索引越界异常
- StringIndexOutOfBoundsException:字符串索引越界异常
- IndexOutOfBoundsException:索引越界异常
- NullPointerException:空指针异常,比如访问一个未赋值的对象
- NumberFormatException:数字格式异常,比如String转int