美文网首页
jvm如何处理异常

jvm如何处理异常

作者: 杨殿生 | 来源:发表于2018-10-30 10:38 被阅读0次

异常分类

抛出异常

显示

throw手动抛出y异常

隐示

java虚拟机碰到无法继续执行的异常状态,自动抛出异常

捕获异常

try 标记进行异常监控代码
catch 针对该异常的处理结果
finally 声明一段必定执行的代码

异常基本概念

Throwable
Exception 检查异常
RuntimeException 非检查异常
Error 非检查异常

检查异常

检查异常的构造十分昂贵。在构造检查异常时,java虚拟机便要生成该异常的栈轨迹。该操作会逐一访问当前线程的java栈帧,并且记录下各种调试信息,包括栈帧所指向方法的名字,方法所在的类名,文件名,以及代码中的第几行触发该异常

java虚拟机如何捕获异常

在编译成的字节码中,每一个方法都附带一个异常表,异常表中的每一个条目代表一个异常处理器,并且由from、to、target指针以及所捕获的异常类型构成
当程序触发异常时,java虚拟机会从上之下遍历异常表中的所有条目。当触发异常的字节码的索引值在某个异常条目的监控范围内,java虚拟机会判断所抛出的异常和该条目想要捕获的异常是否匹配。如果匹配,java虚拟机会将控制流转移至该条目target指针指向的字节码
如果遍历完所有的条目,java虚拟机仍然未匹配到异常处理器,那么它会弹出当前方法对应的java栈帧,并且调用者中重复上述操作。在最坏的情况下,java虚拟机需要遍历当前栈程java栈上的所有方法的异常表
finally是赋值代码块的内容,分别方在太try-catch代码块所有正常执行路径以及异常执行路径的出口中

相关文章

  • 2020-06-27【异常】

    异常体系 JVM的默认处理方案 异常处理 自定义异常

  • Jvm处理异常的方式和try...catch处理异常

    jvm处理异常的方式:如果我们出现异常没有处理,jvm会帮我们处理,并且终止了程序,异常代码后的程序不会被执行. ...

  • Java基础笔记总结(12)-异常处理,File类

    JVM默认是如何处理异常的 main函数有两种处理方式: 1、自己处理该异常然后继续运行 2、自己没有针对的处理方...

  • jvm如何处理异常

    异常分类 抛出异常 显示 throw手动抛出y异常 隐示 java虚拟机碰到无法继续执行的异常状态,自动抛出异常 ...

  • 异常机制详解

    目录介绍 1.什么是异常 2.异常2.1 异常的概述和分类【了解】2.2 JVM默认是如何处理异常的【理解】2.3...

  • Java之异常抛出

    异常的使用概述异常及时Java程序在运行的过程中出行的错误 异常分类 JVM是如何处理异常的 main方法遇到这种...

  • JVM异常处理

    JVM监控和管理主要针对的是JVM内存溢出问题和性能问题,本篇主要介绍JVM常见的异常处理方式和性能调优。 一、O...

  • 关于异常

    参考资料:JVM如何处理异常深入详解 一、Java 异常的概念和分类 所有的异常都派生于Throwable类的一个...

  • 02.jvm处理异常的方式和try...catch处理异常

    JVM默认处理方式 如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行并...

  • day19

    1:异常(理解) (1)程序出现的不正常的情况。 (2)异常的体系 (3)异常的处理: A:JVM的默认处理把异常...

网友评论

      本文标题:jvm如何处理异常

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