网站制作app免费软件,成都环境建设网站,网站推广软件免费版下载,wordpress后台功能添加一、异常的介绍Throwable 是 Java 中所有错误和异常的超类。Java 虚拟机仅抛出属于此类(或其子类之一)的实例对象#xff0c;或者是 throw 语句也可以抛出该对象。同样#xff0c;catch 子句中的参数类型也只能是此类(或其子类之一)。处于编译时检查异常为目的#xff0c;Th…一、异常的介绍Throwable 是 Java 中所有错误和异常的超类。Java 虚拟机仅抛出属于此类(或其子类之一)的实例对象或者是 throw 语句也可以抛出该对象。同样catch 子句中的参数类型也只能是此类(或其子类之一)。处于编译时检查异常为目的Throwable 和其部分子类(除开 RuntimeException、Error 及它们其子类)都被视为检查的异常(checked exceptions)又称为运行时的异常剩下的都是未检查的异常(unchecked exceptions)。一个 throwable 包含它创建时线程执行堆栈的快照。它还可以包含一个消息字符串该字符串提供有关该错误的更多信息。随着时间的流逝一个throwable可以抑制其他 throwables 的传播。最后throwable 还可以包含一个原因另一个导致该 throwable 构造的 throwable。此因果信息的记录称为链接异常机制因为原因本身可以具有原因依此类推导致异常的“链”每个异常都是由另一个原因引起的。二、Java异常结构层次图图中仅列出一些比较常见的异常还有绝大部分没有展现出来可见 Java异常家族之大。还有就是 Error 那一块的东西对于我来说几乎没有碰到过表示运行应用程序中较严重问题大多数错误与代码编写者执行的操作无关而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如当 JVM 不再有继续执行操作所需的内存资源时将出现 OutOfMemoryError。 Exception 是程序本身可以处理的异常。也就是你常见的空指针异常(NullPointerException)数组超出范围异常(IndexOutOfBoundsException)等等。三、检查的异常和非检查的异常Java的异常(包括Exception和Error)分为已检查的异常(checked exceptions)和非检查的异常(unchecked exceptions)。① 检查的异常编译器要求你必须处置的异常代码还没运行编译器就会检查你的代码会不会出现异常要求你对可能出现的异常必须做出相应的处理。对检查异常(checked exception)的几种处理方式继续抛出消极的方法一直可以抛到java虚拟机来处理就是通过throws exception抛出。用try...catch捕获注意对于检查的异常必须处理或者必须捕获或者必须抛出。除 RuntimeException 与其子类以及 Error其他的都是检查异常。② 非检查的异常编译器不要求强制处置的异常不会在编译的时候检查一一去检查会使得工作变得更加繁琐只能在运行时才能检查出来比如空指针异常等。对未检查的异常(unchecked exception )的几种处理方式捕获继续抛出不处理一般我们是不处理的因为你很难判断会出什么问题而且有些异常你也无法运行时处理比如空指针需要人手动的去查找。RuntimeException与其子类以及错误(Error)都是属于这类异常。