美文网首页Java JavaJava 杂谈
《Java编程的逻辑》笔记24--异常(中)/异常类Throwa

《Java编程的逻辑》笔记24--异常(中)/异常类Throwa

作者: 天一方蓝 | 来源:发表于2019-06-17 22:01 被阅读10次
异常(中).png

异常类体系

image.png

Throwable

  • Error
    Error表示系统错误或资源耗尽,由Java系统自己使用,应用程序不应抛出和处理, 比如图中列出的虚拟机错误(VirtualMacheError)及其子类内存溢出错误(OutOfMemoryError)和栈溢出错误(StackOverflowError)。
  • Exception
    Exception表示应用程序错误,它有很多子类,应用程序也可以通过继承Exception或其子类创建自定义异常, 图中列出了三个直接子类:IOException(输入输出I/O异常),SQLException(数据库SQL异常),RuntimeException(运行时异常)
  • RuntimeException
    RuntimeException(运行时异常)比较特殊,它的名字有点误导,因为其他异常也是运行时产生的,它表示的实际含义是unchecked exception (未受检异常),相对而言,Exception的其他子类和Exception自身则是checked exception (受检异常),Error及其子类也是unchecked exception。
    checked还是unchecked,区别在于Java如何处理这两种异常,对于checked异常, Java会强制要求程序员进行处理,否则会有编译错误,而对于unchecked异常则没有这个要求


    image.png

这么多不同的异常类其实并没有比Throwable这个基类多多少属性和方法, 大部分类在继承父类后只是定义了几个构造方法,这些构造方法也只是调用了父类的构造方法,并没有额外的操作
使用合适的名字都有助于代码的可读性和可维护性。

自定义异常

public class AppException extends Exception {
    public AppException() {
        super();
    }

    public AppException(String message,
            Throwable cause) {
        super(message, cause);
    }

    public AppException(String message) {
        super(message);
    }

    public AppException(Throwable cause) {
        super(cause);
    }
}

一般通过继承Exception或者它的某个子类,如果父类是RuntimeException或它的某个子类,则自定义异常也是unchecked exception,如果是Exception或Exception的其他子类,则自定义异常是checked exception。
和很多其他异常类一样,我们没有定义额外的属性和代码,只是继承了Exception,定义了构造方法并调用了父类的构造方法。

相关文章

  • 《Java编程的逻辑》笔记24--异常(中)/异常类Throwa

    异常类体系 Throwable ErrorError表示系统错误或资源耗尽,由Java系统自己使用,应用程序不应抛...

  • 第11章 异常

    1. 异常体系 1.1 异常的分类 所有异常(Exception)和错误(Error)的超类是问题类(Throwa...

  • Java基础再回顾-Java异常篇

    什么是Java异常 异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwa...

  • Java基础 异常详解篇

    什么是Java异常 异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwa...

  • Java编程学习:Java异常类型

    所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwa...

  • 异常处理 ?处理(try-catch) :甩锅(throws)_

    本章概要 本章主要和大家一起学习java异常类的处理机制,深入学习java异常类。掌握异常处理机制,及背后的逻辑。...

  • 异常

    异常机制 处理程序运行过程中的异常 异常类 java中有许多异常类,例如NullPointException,Ar...

  • 异常

    异常 异常概述 Java代码在运行时期发生的问题就是异常; 异常类:在Java中把异常信息封装成了一个类,当出现问...

  • JavaEE归纳(二)

    • 异常 ○ Throwable类是Java中Error(错误)和Exception(异常)的父类○ Error类...

  • 异常基本概念及处理异常

    异常: 在java中还提供了大量的异常类,这些类都是继承自java.long.Throwable类。 ...

网友评论

    本文标题:《Java编程的逻辑》笔记24--异常(中)/异常类Throwa

    本文链接:https://www.haomeiwen.com/subject/mflufctx.html