为了账号安全,请及时绑定邮箱和手机立即绑定

Java异常是如何实现的

Java异常是如何实现的

哈士奇WWW 2018-07-22 13:28:39
Java里面的异常分为运行时异常(RuntimeException)和检查异常(checked exception)对于很多异常,在程序中throw new Exception()这样的语句就申明了一个异常如果是运行时异常,可以在程序中处理,也可以不处理,对于检查异常,必须要处理它有一个问题,就是那些没有申明的异常时怎么把它抛出来的呢,就比如obj.method();当 obj==null 的时候,一定会抛出NPE,但是在method()里面并没有这样的语句method(){     if(this==null)      throw new NullPointException(); }那类似这样的 Exception 是怎么实现的呢是在JVM做的?那如果是在JVM中做的,那JVM对哪些检查异常做了这样的事呢,JVM又是怎么做的呢?@剑心无痕说得对,我这里面问题确实很明显,obj是空,跟本没有办法找到method这个方法。不过我还想要了解“null.method()”的时候,这个NullPointException是怎么给抛出来的,Java代码也没有看到哪里抛出了NullPointException?
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

你好,简单的说JVM是不处理异常的,一般是直接挂掉,所以有了异常处理机制,将异常分为Error和Exception,细分的话还有非检查异常与检查异常、运行时异常与非运行时异常,我们白话的讲解下,异常跑出是对应的线程与类型还有说明,Java应用程序异常处理机制:抛出异常、捕捉异常。
有一个点:一个方法所能捕捉的异常,一定是Java代码在某处所抛出的异常。简单地说,异常总是先被抛出,后被捕捉的。(具体还有很多学问)

查看完整回答
反对 回复 2018-07-29
  • 2 回答
  • 0 关注
  • 819 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信