编译期异常和运行期异常

  • 异常有编译期异常(Exception)和运行期(RuntimeException)异常
  • 运行期异常可以解决也可以不解决。
    1.如果我们不处理,会抛给JVM处理,JVM的默认处理方式,是打印异常信息,并终止虚拟机
    2.自己处理,用try,catch 处理,try里放的是有可能会出现问题的代码,捕捉异常时,多个异常可以并列,如果这些异常之间有继承关系,那么大的异常要放在后面。
  • 编译期异常必须解决,编译期的异常出现在编译期,异常不处理,程序无法执行
    处理方式:
    1.throw向上抛出,谁调用,谁处理
    2.自己用try catch处理
    3.一般我们在finally里面做一些善后处理,释放内存,不管有没有异常,finally里面都会执行
    throw和throws的区别:
    1.throw一般只能抛出一个异常,throws一次可以抛出多个异常
    2.throw抛出的异常是发生了的异常,throws抛出的异常只是一种可能性
  • 父类和子类之间的异常:
    父类和子类的异常:父类没有抛出的异常,子类不能抛出
    父类没有抛出异常,子类在重写父类方法的时候只能捕获处理
    父类抛出了异常,子类也可以抛出异常,但抛出的异常不能比父类的异常大

目前小白,写的不好,有错误的地方,望指正,谢谢~

猜你喜欢

转载自blog.csdn.net/qq_36558578/article/details/86499517