java的异常

异常:

  程序中发生的不正常的情况成为异常(语法错误和逻辑错误不是异常)。

异常分为两类:

  1. Error:java虚拟机无法解决的严重问题,程序会崩溃,如栈溢出(stackoverflowerror)、内存不足等

  2. Exception:由于编程错误或外在因素导致的一般性问题,可以使用正对行的代码进行处理,如空指针异常、算数异常。Exception异常也分为两类:

      a. 运行时异常:代码运行时发生的异常

      b. 编译时异常:编程时发生的异常,编译异常必须处理

异常处理:

  当异常发生时,对异常的处理方式,有两种方式:

    1. try-catch-finally

     程序员在代码中捕获发生的异常,并自行处理

     

    2. throws

     将发生的异常抛出,交给调用者(方法)来处理,最顶级的调用者时JVM

     

try-catch-finally处理方式:

  1. 在try中的异常发生了,那么异常发生后面的代码不会被执行,直接进入到catch中

  2. 如果异常没有发生,顺序执行try代码块,不会进入catch

  3. 如果希望不管是否发生异常,都执行某段代码,则使用finally

  4. 可以有多个catch语句,即捕获不同的异常(在不同异常发生时做不同的逻辑),要求catch的子异常在前,父异常在后

   

throws处理方式:

  1. throws是抛出异常,让调用该方法的调用者(方法)处理

  2. throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类

  3. throws后面可以跟多个异常,用逗号隔开

   

  4. 子类重写父类方法时,对抛出异常的规定:所抛出的异常类型要么和父类抛出异常一致,要么时父类抛出异常类型的子类型

   

posted @ 2023-06-04 22:49  踏浪而来的人  阅读(6)  评论(0编辑  收藏  举报