程序运行中出现的各种问题,根据其严重程度不同,可分为错误和异常两类
错误,例如内存溢出
异常分为检查型异常和运行时异常
检查型异常
检查型异常在eclipse中会显示语法错误
运行时异常可以通过编译。但运行时会抛出异常
错误类和异常类都是Throwable类的子类
区别:
getMassage方法,返回异常信息
toString方法,添加了异常类型的说明(算术异常)
printStackTrade方法,输出了当前异常对象使用栈的轨迹,包含异常信息,异常类型和抛出异常的代码行位置
try-catch-finally
运行时异常
检查型异常
ma()方法声明了异常但没有捕获,若mb调用了该方法,则异常被抛给了mb,mb需要捕获或声明该异常
自己的异常自己解决,主方法无需再考虑异常处理的问题
ma方法中的异常处理不会被执行,因为抛出的异常对象已经被mb方法捕获了,方法调用的顺序为ma、mb、mc、md,而查找异常处理的顺序是md、mc、mb、ma,与调用顺序相反
构造方法中调用了超类的构造方法



