美文网首页
JAVA的异常机制

JAVA的异常机制

作者: 胖瘦馒头 | 来源:发表于2018-07-16 21:22 被阅读0次

Java中的Exception异常

public class Exception extends Throwable
Exception类及其子类是Throwable的一种形式,它指出了合理的应用程序想要捕获的条件。

public class RuntimeException extends Exception
RuntimeException是那些可能在JVM正常运行期间抛出的异常的超类。
可能在执行期间抛出的但未被捕获的RuntimeException的任何子类都无需在throws子句中进行声明。

Java的异常体系

653561-92338ff5fe9dd644.png

Java的异常体系规定了所有的异常都是继承自Throwable;

直接继承自Throwable的有两大类:

  • Error:一般来说,Error类型的异常是不应该被捕获的,这类似错误一般都是严重的系统错误,在Java中默认约定Error类型是交给虚拟机处理的。所以一般情况下,都不应该捕获Error类型的异常。
  • Exception:Exception分为两种,一种是继承自RuntimeException的类,比如NullPointerException、IndexOutOfBoundsException等,这类异常叫做非检测异常(unchecked exception),另外一种是继承自Exception(但是没有同时又继承自RuntimeException)的类,比如常见的IOException,这类异常是受检测异常(checked exception),受监测异常和前者的明显区别是在语法上要么用try-catch捕获要么抛出要么重新throw,

Exception的分类:

1.非运行时异常(Checked Exception)

Java中凡是继承自Exception但不是继承自RuntimeException的类都是非运行时异常;这种检查类型的异常就是说要程序员明确的去声明或者用try..catch语句去处理异常;

2.运行时异常(RuntimeException/Unchecked Exception)

RuntimeException类直接继承自Exception类,称为运行时异常。Java中所有的运行时异常都是直接或间接的继承自RuntimeException。

JAVA中的所有异常类都直接或者间接继承自Exception。

异常使用时需注意的几个点:

  • 当使用多个catch语句块来捕获异常时,需要将父类的catch语句块放到子类型的catch块之后,这样才能保证后续的catch可能会被执行到
  • 如果try代码块之中存在return语句,那么首先会执行finally语句块中的代码,然后返回
  • 如果try代码块之中存在System.exit(0)语句,那就永远不会执行finally语句块的代码了;因为Sysytem.exit(0)会终止当前运行的JVM。

参考文章:
http://www.jianshu.com/p/e7b55c8bd456
http://www.cnblogs.com/octobershiner/archive/2012/12/20/2827120.html

相关文章

  • Java异常简介及其架构

    Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理...

  • Java 异常处理总结

    Java 异常机制 Java 异常分为检查异常和非检查异常,所有RuntimeException的子类都是非检查异...

  • Java中的异常处理

    一、概述 Java异常是Java提供的一种识别和响应错误的一致性机制。 Java异常机制可以使得异常处理代码和正常...

  • JAVA异常

    一、简介 Java异常是Java提供的一种识别及响应错误的一致性机制。Java异常机制可以使程序中异常处理代码和正...

  • Exception和Error有什么区别

    简述Java异常机制的优点 Java语言在设计之初就提供了相对完善的异常处理机制,这也是Java的优势之一;因为这...

  • 第6章 Dart基础语法 -- 异常处理

    1. 异常的定义 Dart的异常处理机制参考了Java语言的异常处理机制。与Java语言不同的是,Dart中不存在...

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

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

  • Java异常面试题(总结最全面的面试题)

    Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。Jav...

  • Java异常面试题(2021最新版)

    Java异常架构与异常关键字 Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。Jav...

  • Java SE 5

    Java SE 1.Java异常处理机制 Java异常结构中定义有Throwable类,Exception和Err...

网友评论

      本文标题:JAVA的异常机制

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