标签:Exception 错误 RuntimeException 程序 Error 异常
异常
日常生活中,我们在使用各类工具会出现各种各样的异常。如程序在运行期间,内存或硬盘可能满了。又或者用户在使用程序时输入了不是我们预期的数据等。这些问题,在编程中我们叫异常(Exception)。异常发生在程序运行期间,它影响了正常的程序执行流程。
Java中对异常有分三种类型:
- 检查性异常:由用户错误或问题引起的异常,这些异常我们无法预见。
- 运行时异常:可能被程序员避免的异常,和检查性异常相反,这些异常在编译时被忽略
- 错误:错误不是异常,而是脱离程序员控制的问题。当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
异常体系结构
java中异常当作对象处理,java.lang.Throwable
是所有异常的超类。在API中,异常类分为两大类。错误Error
和异常Exception
Error类异常表示Java运行时系统的内部错误和资源耗尽错误,程序不希望这种错误被捕获或者是程序处理
Exception类异常又派分两大类,其中,RuntimeException
(运行时异常)则表示由程序错误导致的异常,如数组越界、空(null)指针等;而另一类则是由于I/O错误导致的异常,这类属于其他异常,如打开不存在的文件、在给定字符串中查找不存在的class对象等。
其中Error类和RuntimeException类的所有派生类称为非受查异常,所有其他异常称为受查异常
区别和联系
1.Error与Exception
Error是由Java虚拟机(JVM)生成并抛出的,大多数错误与代码编写者所执行的操作无关。这类错误是程序无法控制和处理的,出现这些错误时JVM会终止线程
Exception中的RuntimeException
,一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生,这类会自动为编写的程序定义异常,我们应该在程序中可以选择捕获处理,也可以不处理;而除RuntimeException
外的非运行时异常是必须要处理的,如果不处理,程序就编译不通过,
2.1受检查异常和非受检查异常
标签:Exception,错误,RuntimeException,程序,Error,异常 来源: https://www.cnblogs.com/hello12153-java/p/15953157.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。