微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java中异常产生的原因

在java中,Throwable是所有错误(Error)或异常(Exception)的超类,其中,异常又分为编译时异常和运行时异常。

1.错误(Error)是程序员无法解决的,只能通过修改代码,而异常是可以避免的。比如,常见的错误(Error)有“内存溢出或系统崩溃”,内存溢出如新建的一个数组,其内存超过了jvm规定的对数组的内存的最大值。

2.异常时程序员必须解决,且可以避免的。编译时异常如IOException,ClassNotFoundException,运行时异常(RuntimeException)如Arrayindexoutofboundsexception

以Arrayindexoutofboundsexception为例

 如上图所示:

当jvm检测到查询出现错误时,会做两件事:

一是:jvm会根据异常产生的原因创建一个异常对象,这个异常对象包含了异常产生的内容、原因和位置;

二是:jvm会查看该异常所在的方法有无解决异常的方法(try catch等),若没有,就把异常抛给方法调用者,此处是main方法

当main方法接收到这个异常时,该main方法也没有对应的解决异常的方法(try catch),所以main方法只能把异常抛给jvm

此时jvm只能做两件事:

一是:在控制台打印出异常产生的原因、内容、位置

二是:终止当前java程序的执行,即中断程序


作者:用户9106934970994
链接:https://juejin.cn/post/6988118347929878542
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐