java中的异常类型以及区别????

时间:2024-11-06 12:05:02

一、引言

  根据JDK的文档我们能够找到异常所在的包:java.lang.Throwable中,Throwable是所有异常类的根类,error是错误,在java.lang.error中,而Exception是异常在java.lang.exception中能够找到

二、error概述

  当发生error类错误的时候,我们需要联想到该错误的原因大多数都是跟虚拟机有关的问题,例如内存不够、虚拟机错误等信息。对于这些错误信息导致程序中断停止、这种行为仅靠修改代码本身是无法进行修复的,更多的建议是将程序终止。

三、Exception概述

  当发生Exception时,程序本身可以自身处理异常,这是与error的本质的区别,发生error错误时自身无法去处理这个错误。

  Exception有很多子类,所以查看JDK文档可以得出Exception异常又可以分为Runntime exception 和 其他异常:

  • RuntimeException异常发生时,一定是写的代码出现了问题、比如数组越界没有考虑到、空指针异常没有考虑到等这些信息,所以不需要通过throws处理,可以直接抛出去,抛出去后不要求调用者进行处理,故调用者可以处理也可以不处理,如果不处理就会一直往上抛,最后会抛给虚拟机去停止当前的线程
  • 其他异常发生时,我们在执行代码可以将此异常进行捕获(try-catch)或者将此异常抛出(throws),所以一旦抛出,就要求调用者必须处理

  常见的异常类型:  

    ArrayIndexOutOfBoundsException 数组下标越界异常,

    ClassNotFoundException 类型不存在

    NullPointerException 空指针异常

    IllegalArgumentException 不合法参数异常

相关文章