Java中什么是异常处理,java中什么是异常
异常是指程序运行过程中产生的错误,出现在程序运行过程中。
Java中的异常,也称为Exception,是程序执行过程中发生的事件,它中断了正在执行的程序的正常指令流。为了及时有效地处理程序中的运行错误,必须使用异常类。【推荐学习:java课程】
异常产生的原因及使用原则
Java中出现异常有三个主要原因:
Java内部错误中出现异常,这是由Java虚拟机生成的异常。
编程代码错误导致的异常,如空指针异常、数组越界异常等。这种异常称为未检查异常,在某些类中一般需要处理这些异常。
由throw语句手动生成的异常称为checked异常,通常用于向方法的调用方通知一些必要的信息。
Java通过面向对象的方法处理异常。在运行一个方法的过程中,如果出现异常,方法会生成一个表示异常的对象,交给运行时系统,运行时系统会寻找相应的代码来处理异常。
我们称生成异常对象并提交给运行时系统的过程为抛出异常。运行时系统在方法的调用堆栈中搜索,直到找到可以处理此类异常的对象。这个过程称为捕获异常。
Java异常迫使用户考虑程序的健壮性和安全性。异常处理不应该用来控制程序的正常进程,它的主要作用是捕捉程序运行时出现的异常,并进行相应的处理。编写代码处理某个方法可能出现的异常时,可以遵循以下三个原则:
在当前方法声明中使用try catch语句来捕获异常。
当一个方法被重写时,重写它的方法必须抛出相同的异常或异常的子类。
如果父类引发多个异常,override方法必须引发这些异常的子集,但不能引发新的异常。
异常类型
在Java中,所有异常类型都是内置java.lang.Throwable类的子类,也就是说,Throwable位于异常类层次结构的顶部。Throwable类下有两个异常分支,Exception和Error,如图1所示。
图1异常结构图
如何解决写爬虫IP受阻的问题?立即使用。
Throwable类是所有异常和错误的超类。有两个子类,Error和Exception,分别代表错误和异常。其中,异常类又分为运行时异常和非运行时异常,这两种异常差别很大,也叫未检查异常和已检查异常。
异常类用于用户程序中可能发生的异常,也是用于创建自定义异常类型类的类。
Error定义了一个在正常情况下你不想被程序捕获的异常。错误类型异常用于Java运行时,由系统显示与运行时系统本身相关的错误。堆栈溢出就是这种错误的一个例子。
本章不讨论错误类型的异常处理,因为它们通常是灾难性和致命的错误,超出了程序的控制范围。本章的其余部分将讨论异常类型的异常处理。
运行时异常都是RuntimeException类及其子类,如NullPointerException、IndexOutOfBoundsException等。这些异常是无检查异常,程序可以选择捕捉或不处理它们。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽量避免这种异常。
非运行时异常是指RuntimeException以外的异常,属于Exception类及其子类。从程序语法的角度来看,这是一个必须处理的异常。如果不处理,程序就无法编译。如IOException、ClassNotFoundException、用户自定义异常,一般不定义用户自定义检查异常。表1列出了一些常见的异常类型及其功能。
以上是java中什么是异常?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。