当前位置: 首页 > news >正文

Jvm(49),指令集----异常处理指令

 

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html

 

在Java程序中显式抛出异常的操作(throw语句)都由athrow指令来实现,除了用throw语句显式抛出异常情况之外,Java虚拟机规范还规定了许多运行时异常会在其他Java虚拟机指令检测到异常状况时自动抛出。例如,在前面介绍的整数运算中,当除数为零时,虚拟机会在idiv或ldiv指令中抛出ArithmeticException异常。

而在Java虚拟机中,处理异常(catch语句)不是由字节码指令来实现的(很久之前曾经使用jsr和ret指令来实现,现在已经不用了),而是采用异常表来完成的。案例一:

public class Demo5 {

public static void main(String[] args) {

 

throw new RuntimeException("我是异常");

}

}

案例二:

public class Demo5 {

public static void main(String[] args) {

 

int a = 1 /

}

}

是由idiv抛出来的。

public class Demo5 {

public static void main(String[] args) {

 

try {

int a = 1 /

} catch (Exception e) { e.printStackTrace();

}

}

}

 

相关文章:

  • centos7设置开机启动
  • RedHat已更改其开源许可规则
  • C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法...
  • 程序员的迷茫期
  • Java集合源码学习(1)接口
  • 微信小程序【树形视图】demo
  • 使用JTAG调试器和Freemaster 2.0 进行powerpc架构的mpc5XXX系列的调试
  • EM算法随记
  • Vue 字段验证 八
  • 批量ping 检测linux主机是否可以通
  • find详细参数
  • PostgreSQL 10.1 手册_部分 III. 服务器管理_第 18 章 服务器设置和操作_18.9. 用 SSL 进行安全的 TCP/IP 连接...
  • PostgreSQL 10.1 手册_部分 III. 服务器管理_第 23 章 本地化_23.2. 排序规则支持
  • 最近关于虚拟机的学习
  • Linux的systemd特性及gawk使用
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Apache的基本使用
  • django开发-定时任务的使用
  • Docker 笔记(2):Dockerfile
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java新版本的开发已正式进入轨道,版本号18.3
  • ng6--错误信息小结(持续更新)
  • scrapy学习之路4(itemloder的使用)
  • Web设计流程优化:网页效果图设计新思路
  • Yii源码解读-服务定位器(Service Locator)
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 简单实现一个textarea自适应高度
  • 使用Swoole加速Laravel(正式环境中)
  • 新书推荐|Windows黑客编程技术详解
  • 一个SAP顾问在美国的这些年
  • 一文看透浏览器架构
  • 再谈express与koa的对比
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #Z0458. 树的中心2
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (八)Spring源码解析:Spring MVC
  • (二)构建dubbo分布式平台-平台功能导图
  • (一)Dubbo快速入门、介绍、使用
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET成年了,然后呢?
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Autowired标签与 @Resource标签 的区别
  • @Not - Empty-Null-Blank
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • []T 还是 []*T, 这是一个问题
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [20190113]四校联考
  • [C#小技巧]如何捕捉上升沿和下降沿
  • [CakePHP] 在Controller中使用Helper
  • [delphi]保证程序只运行一个实例