异常
异常:
1.概述:异常就是java程序在运行中出现的错误
2.继承体系:Throwable 有两个子类Exception和Error exception 是异常 error是错误 二者的区别是异常可以被程序本身处理,而错误是无法处理。
3.jvm默认是如何处理异常的:
1)mian函数收到异常后有两种处理方式:
a.自己有将该问题处理,然后继续运行
b.自己没有针对的处理方式,只有交给调用main的jvm来处理--->jvm有一个默认的处理机制,将该异常处理,并将异常的名字信息异常出现的位置打印到控制台。
4.运行异常和编译异常:
1)所有的RuntimeException及其子类异常被称为运行时异常,其他的为编译异常
2)编译异常,编译时就必须进行处理,不然无法通过编译,程序会出现错误;
3)运行异常,无需处理,也可以和编译异常一样进行处理;
5.throws和throw的区别:
1)throws:用在方法声明后面,跟的是异常类名;可以跟多个异常类,用逗号隔开;表示抛出异常,交给调用者来处理
2)throw:用在方法内,后面跟的是异常对象名;只能抛出一个异常对象名;抛出异常,交给方法体内语句进处理
6.异常处理的注意事项:
1)子类重写父类方法时,子类只能抛出相同的异常或者父类异常的子类;
2)如果父类抛出了多个异常,子类重写父类的时候,只能抛出相同的异常,或者抛出父类异常的子集,不能 抛出新的异常;
3)如果父类没有抛出异常,那么子类的方法绝对不可以抛出异常,如果子类中有异常,只可以进行try catch进 行处理,不可以抛出
*7.自定义异常
格式: class 名字 extends Exception{
空参构造;
有参构造
}