您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

深入理解Java虚拟机——异常处理指令

小志的博客 发布时间:2022-03-19 21:55:05 ,浏览量:0

目录
    • 一、异常处理指令的概述
    • 二、异常处理指令(示例1)
    • 三、异常处理指令(示例2)

一、异常处理指令的概述
  • 在Java程序中显示抛出异常的操作(throw语句)都由athrow指令来实现,除了用throw语句显示抛出异常情况之外,Java虚拟机规范还规定了许多运行时异常会在其他Java虚拟机指令检测到异常状况时自动抛出。
  • 例如:当除数为零时,虚拟机会在idiv或Idiv指令中抛出ArithmeticException。
  • 在Java虚拟机中,处理异常(catch语句)不是由字节码指令来实现的(很久之前曾经使用jsr和ret指令来实现,现在已经不用了),而是采用异常表来完成的。
二、异常处理指令(示例1)
  • 代码

    public class Test1{
    	public static void main(String []args){
    		throw new RuntimeException("exception");
    	}
    	
    }
    
  • 执行javac命令编译成.class文件 在这里插入图片描述

  • 执行javap命令查看字节码指令 在这里插入图片描述在这里插入图片描述

三、异常处理指令(示例2)
  • 代码

    public class Test1{
    	public static void main(String []args){
    		int result= 1/0;
    	}
    }
    
  • 执行javac命令编译成.class文件 在这里插入图片描述

  • 执行javap命令查看字节码指令 在这里插入图片描述 在这里插入图片描述

  • 执行java命令运行Test.java文件 在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0406s