Java 异常处理

Java 异常处理,异常处理是 java 编程最重要的特性之一,它允许我们处理异常引起的运行时错误。在本指南中,我们将学习什么是异常,它的类型,异常类以及如何使用示例处理 java 中的异常。

什么是异常

异常是一个不需要的事件,它会中断程序的正常流程。当发生异常时,程序执行将终止。在这种情况下,我们会收到系统生成的错误消息。关于异常的好处是它们可以用 Java 来处理。通过处理异常,我们可以向用户提供有关问题的有意义的消息,而不是系统生成的消息,这可能是用户无法理解的。

为什么会发生异常

可能有几个原因导致程序抛出异常。例如:在程序中打开一个不存在的文件,网络连接问题,用户提供的错误输入数据等。

异常处理

如果发生异常(程序员尚未处理),则程序执行将终止,并向用户显示系统生成的错误消息。例如,查看下面的系统生成异常:
系统生成的异常在下面给出

 Exception in thread "main" java.lang.ArithmeticException: / by zero at ExceptionDemo.main(ExceptionDemo.java:5)
 ExceptionDemo : The class name
 main : The method name
 ExceptionDemo.java : The filename
 java:5 : Line number

此消息不是用户友好的,因此用户将无法理解出错的地方。为了让他们用简单的语言知道原因,我们处理异常。我们处理这些条件,然后向用户输出用户友好的警告消息,这使得他们可以纠正错误,因为大多数时候由于用户提供的错误数据而发生异常。

异常处理的优点

异常处理可确保在发生异常时程序流不会中断。例如,如果一个程序有一堆语句,并且在执行某些语句后中途发生异常,则异常后的语句将不会执行,程序将突然终止。
通过处理,我们确保所有语句都执行,程序流程不会中断。

错误和异常之间的区别

错误表示出现了严重问题,应用应该崩溃而不是尝试处理错误。

异常是代码中发生的事件。程序员可以处理这些情况并采取必要的纠正措施。几个例子:
NullPointerException – 当你尝试使用指向null的引用时。
ArithmeticException – 当用户提供错误数据时,例如,当您尝试将数字除以零时,会发生此异常,因为将数字除以零是未定义的。
ArrayIndexOutOfBoundsException – 当您尝试从其边界外访问数组的元素时,例如,数组大小为 5(这意味着它有五个元素),并且您尝试访问第 10 个元素。

Java异常类继承关系

异常的类型

Java 中有两种类型的异常:

1)受检的异常

2)非受检的异常

我已在单独的教程中详细介绍了这一点: Java中的受检和非受检异常。

受检异常

除运行时异常之外的所有异常都称为受检异常,因为编译器在编译期间检查它们以查看程序员是否已处理它们。如果在程序中未处理/声明这些异常,则会出现编译错误。例如,SQLExceptionIOExceptionClassNotFoundException等。

非受检的异常情况

运行时异常也称为非受检的异常。这些异常不会在编译时检查,因此编译器不会检查程序员是否已经处理过它们,但程序员有责任处理这些异常并提供安全退出。例如,ArithmeticExceptionNullPointerExceptionArrayIndexOutOfBoundsException等。

编译器永远不会强制您捕获此类异常或强制您使用throws关键字在方法中声明它。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程