异常
Throwable类
两个子类
子类1:Error修改代码,运行时期异常
RuntimeException等同于Error
子类2:Exception编译器异常
异常抛给调用者
异常对象抛给虚拟机之后
1.终止程序
2.将异常对象,异常信息,异常位置,以红字打印在控制台
3.不需要throws或者捕获异常
throw
创建异常并抛出throw new 异常类名(参数);
throws
格式:修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2… { }
捕获异常格式:
try {
//需要被检测的语句。
}
catch(异常类 变量) { //参数。
//异常的处理语句。
e.printStackTrace();//红字打印
}
finally {
//一定会被执行的语句。
}
并且若catch中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理。
1、当父类方法异常时,子类重写父类的方法,可以抛异常,也可以不抛异常
如果抛异常,抛出的异常必须小于等于父类异常
2、如果父类方法没有抛异常,子类重写父类的方法,也不能抛异常
如果该方法中调用了声明异常的方法,则只能try-catch处理
异常中的方法
getMessage方法:返回该异常的详细信息字符串,即异常提示信息
toString方法:返回该异常的名称与详细信息字符串
printStackTrace:在控制台输出该异常的名称与详细信息字符串、异常出现的代码位置