JAVA 常见的异常

来源:互联网 发布:sql 去重 编辑:程序博客网 时间:2024/05/16 11:54

首先介绍一下Throwable

Throwable是所有异常的父类。有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。

  • Error(错误)

    1. 是程序无法处理的错误,表示运行应用程序中较严重问题。
    2. 大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。
  • Exception(异常)

    1. 是程序本身可以处理的异常。
    2. Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。

开发中常见的几种异常。

  1. NullPointerException - 空指针引用异常
  2. ClassCastException - 类型强制转换异常。
  3. IllegalArgumentException - 传递非法参数异常。
  4. ArithmeticException - 算术运算异常
  5. IndexOutOfBoundsException - 下标越界异常

try,catch,finally语法:

try {      // 可能会发生异常的程序代码  } catch (Type1 id1) {      // 捕获并处理try抛出的异常类型Type1  } finally {      // 无论是否发生异常,都将执行的语句块  }

try块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。
catch块:用于处理try捕获到的异常。
finally块:无论是否捕获或处理异常,finally块里的语句都会被执行。

throw和throws的区别

  1. throws出现在方法的声明中,表示该方法可能会抛出的异常,然后交给上层调用它的方法程序处理,允许throws后面跟着多个异常类型。
  2. throw只会出现在方法体中,当方法在执行过程中遇到异常情况时,将异常信息封装为异常对象,然后throw出去。