ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Error与Exception的异同

2021-10-15 22:04:20  阅读:196  来源: 互联网

标签:Exception 错误 检查 异同 捕获 Error 异常


Error(错误)和 Exception(异常)都是 java.lang.Throwable 类的子类,在 Java 代码中只有继承了 Throwable 类的实例才能被 throw 或者 catch。
Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类,Exception 是程序正常运行过程中可以预料到的意外情况,并且应该被开发者捕获,进行相应的处理。Error 是指正常情况下不大可能出现的情况,绝大部分的 Error 都会导致程序处于非正常、不可恢复状态。所以不需要被开发者捕获。
Error 错误是任何处理技术都无法恢复的情况,肯定会导致程序非正常终止。并且 Error 错误属于未检查类型,大多数发生在运行时。Exception 又分为可检查(checked)异常和不检查(unchecked)异常,可检查异常在源码里必须显示的进行捕获处理,这里是编译期检查的一部分。不检查异常就是所谓的运行时异常,通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译器强制要求。

如下是常见的 Error 和 Exception:

1)运行时异常(RuntimeException):

NullPropagation:空指针异常;

ClassCastException:类型强制转换异常

IllegalArgumentException:传递非法参数异常

IndexOutOfBoundsException:下标越界异常

NumberFormatException:数字格式异常
2)非运行时异常:

ClassNotFoundException:找不到指定 class 的异常

IOException:IO 操作异常


3)错误(Error):

NoClassDefFoundError:找不到 class 定义异常

StackOverflowError:深递归导致栈被耗尽而抛出的异常

OutOfMemoryError:内存溢出异常

 

欢迎大家批评指正,指出问题,谢谢!

标签:Exception,错误,检查,异同,捕获,Error,异常
来源: https://www.cnblogs.com/yhcTACK/p/15412848.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有