zoukankan      html  css  js  c++  java
  • Java异常处理

    Java 异常结构

    1、Throwable

      Throwable是 Java 语言中所有错误或异常的超类。
      Throwable包含两个子类: Error 和 Exception。它们通常用于指示发生了异常情况。
      Throwable包含了其线程创建时线程执行堆栈的快照,它提供了printStackTrace()等接口用于获取堆栈跟踪数据等信息。

    2、Exception 和 RuntimeException 

      RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。编译器不会检查RuntimeException异常。(例如,除数为零时,抛出ArithmeticException异常。RuntimeException是ArithmeticException的超类。)

    3、Error

      编译器也不会检查Error。

    Java 将可抛出(Throwable)的结构分为三种类型:被检查的异常(Checked Exception),运行时异常(RuntimeException)和错误(Error)。

    1、运行时异常 (RuntimeException及其子类都被称为运行时异常)

    2、被检查的异常(Exception类本身,以及Exception的子类中除了"运行时异常"之外的其它子类都属于被检查异常)

      此类异常,要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,否则不能通过编译。

    3、错误(Error类及其子类)

    在Java中进行异常处理,对于可能会发生异常的代码,可以选择三种方法来进行异常处理:
      1)对代码块用try..catch进行异常捕获处理;
      2)在该代码的方法体外用throws进行抛出声明,告知此方法的调用者这段代码可能会出现这些异常,你需要谨慎处理。此时有两种情况:
        如果声明抛出的异常是非运行时异常,此方法的调用者必须显示地用try..catch块进行捕获或者继续向上层抛出异常。
        如果声明抛出的异常是运行时异常,此方法的调用者可以选择地进行异常捕获处理。
      3)在代码块用throw手动抛出一个异常对象,此时也有两种情况,跟2)中的类似:
        如果抛出的异常对象是非运行时异常,此方法的调用者必须显示地用try..catch块进行捕获或者继续向上层抛出异常。
        如果抛出的异常对象是运行时异常,此方法的调用者可以选择地进行异常捕获处理。

      (如果最终将异常抛给main方法,则相当于交给jvm自动处理,此时jvm会简单地打印异常信息)

    常见需要检查的异常:

    • EOFException 文件已结束异常
    • FileNotFoundException 文件未找到异常
    • SQLException 操作数据库异常
    • IOException 输入输出异常
    • NoSuchMethodException 方法未找到异常
    • ClassNotFoundException
    • NamingException
    • InterruptedException
  • 相关阅读:
    c语言小项目---通讯录2.0
    小练习 打地鼠游戏
    4-20 这是一次失败的小项目 (单链表应用--通讯录)
    4-19 易错点 链表的插入
    小练习 简易双色球模拟器
    【2019.8.22】测试题目订正
    【模板】【P1182】数列分段II——二分答案
    【P2634】聪聪可可——点分治
    【模板】【P3605】【USACO17JAN】Promotion Counting 晋升者计数——动态开点和线段树合并(树状数组/主席树)
    【AcWing 113】【交互】特殊排序——二分
  • 原文地址:https://www.cnblogs.com/hesier/p/5627295.html
Copyright © 2011-2022 走看看