其他分享
首页 > 其他分享> > 异常

异常

作者:互联网

异常

日常生活中,我们在使用各类工具会出现各种各样的异常。如程序在运行期间,内存或硬盘可能满了。又或者用户在使用程序时输入了不是我们预期的数据等。这些问题,在编程中我们叫异常(Exception)。异常发生在程序运行期间,它影响了正常的程序执行流程。

Java中对异常有分三种类型:

  1. 检查性异常:由用户错误或问题引起的异常,这些异常我们无法预见。
  2. 运行时异常:可能被程序员避免的异常,和检查性异常相反,这些异常在编译时被忽略
  3. 错误:错误不是异常,而是脱离程序员控制的问题。当栈溢出时,一个错误就发生了,它们在编译也检查不到的。

异常体系结构

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