异常处理流程
一些问题
1. throws 和 throw 的区别
- throws:1.抛出的是方法中可能出现的异常,抛给调用处处理;2.声明的位置在方法名称之后
- throw:1.抛出的人工实例化的异常对象(自己创建的一个异常对象),相当于程序出现了一个异常;2.声明的位置在方法体内
2.Exception和RuntimeException的区别和练习
- Exception是RuntimeException的父类
- Exception类型的异常需要强制进行处理,如果不处理编译无法通过。
- RuntimeException类型的异常叫做运行时异常不需要强制处理
3.Error和Exception的区别和联系
- Exception和Error都是Throwable的子类
- Exception是异常,在程序运行期间出现的,是通过代码进行处理的(try catch捕获或者抛出)
- Error是错误,是在程序运行之前出现的,比如无加载主类,是不能通过程序代码进行处理的(在编译期间就出现的错误)
4.五个常见的RuntimeException
- ArrayIndexOutOfBoundsException(数组越界异常)
- NumberFormatException(数值格式化异常)
- ArithmeticException(算数异常)
- NullPointerException(空指向异常)
- ClassCastException(类型转换异常)