本文向大家描述一下当JVM异常发生时,Java虚拟机采取的几种措施,JVM异常情况在Java中被称作Error(错误)或Exception(JVM异常),是Throwable类的子类。
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站建设、网站设计、网站策划、网页设计、域名与空间、网页空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。
JVM异常捕捉的几种情况
JVM异常情况在Java中被称作Error(错误)或Exception(JVM异常),是Throwable类的子类,在程序中的原因运行时错,如对一个空指针的引用。程序使用了throw语句。
当JVM异常发生时,Java虚拟机采取如下措施:
1、检查与当前方法相联系的catch子句表。每个catch子句包含其有效指令范围,能够处理的JVM异常类型,以及处理JVM异常的代码块地址。
2、与JVM异常相匹配的catch子句应该符合下面的条件:造成JVM异常的指令在其指令范围之内,发生的JVM异常类型是其能处理的JVM异常类型的子类型。如果找到了匹配的catch子句,那么系统转移到指定的JVM异常处理块处执行;如果没有找到JVM异常处理块,重复寻找匹配的catch子句的过程,直到当前方法的所有嵌套的catch子句都被检查过。
3、由于虚拟机从***个匹配的catch子句处继续执行,所以catch子句表中的顺序是很重要的。因为Java代码是结构化的,因此总可以把某个方法的所有的JVM异常处理器都按序排列到一个表中,对任意可能的程序计数器的值,都可以用线性的顺序找到合适的JVM异常处理块,以处理在该程序计数器值下发生的JVM异常情况。
4、如果找不到匹配的catch子句,那么当前方法得到一个“未截获JVM异常”的结果并返回到当前方法的调用者,好像JVM异常刚刚在其调用者中发生一样。如果在调用者中仍然没有找到相应的JVM异常处理块,那么这种错误将被传播下去。如果错误被传播到最顶层,那么系统将调用一个缺省的JVM异常处理块。
名称栏目:JVM异常发生时的应对策略
文章来源:http://www.gawzjz.com/qtweb2/news48/1748.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联