选中的(checked)和未检查的异常(unchecked exception)的区别

Java中的异常处理是处理运行时代码序列中出现的特定错误的强大机制之一。异常只不过是中断应用程序正常流程的运行时错误。...

Java中的异常处理是处理运行时代码序列中出现的特定错误的强大机制之一。异常只不过是中断应用程序正常流程的运行时错误。

它通常发生在一段代码中,当它发生时,将创建一个表示该异常的对象,并将其抛出导致该异常的方法中。因此,程序或应用程序中断,导致应用程序异常终止,不建议这样做。这就是为什么要处理这些异常,这就是异常处理机制的用武之地。

Java中存在两种类型的异常:Checked异常和Unchecked异常。在本文中,我们将详细讨论什么是checked和unchecked异常以及何时使用它们,最后,我们将看到两者之间的区别。

选中的(checked)和未检查的异常(unchecked exception)的区别

什么是java中的检查异常(checked exception in java)?

这些是在编译时检查和处理的异常。Java在标准包Java.lang中定义了几个异常类,最常见的异常是标准类型RuntimeException的子类。

在程序直接控制之外的区域发生的异常称为检查异常。如果一个方法在编译时抛出一个选中的异常,而该异常本身无法处理,那么它必须在catch{}块中处理该异常,或者使用throws关键字声明该异常,否则它将给出一个编译错误。编译器为每个throw语句检查异常对象的类型,如果它显示为checked,编译器将检查源代码,以确保在抛出或声明异常的方法中处理该异常,以便可以进一步处理该异常。

Exception所描述的所有异常都是它的直接子类,RuntimeException除外,这些异常称为checked异常。现在什么时候使用checked exception?当您确切地知道异常发生或失败的可能性更大时,可以选择使用选中的异常。Java库中检查异常的例子包括IOException、DataAccessException、IllegalAccessException、interruptedeexception、ClassNotFoundException、InvocationTargetException等。

选中的(checked)和未检查的异常(unchecked exception)的区别

什么是java中未检查的异常(unchecked exception in java)?

这些是编译时不检查的异常。Unchecked Exception表示一种通常反映程序逻辑中错误的情况,这种情况在运行时无法恢复。

简单来说,unchecked异常是try-catch块中未捕获的异常。他们不需要被明确抓到。事实上,当发生未检查的异常时,Java会自动处理异常。未检查的异常大多是由于编程错误而发生的,例如访问数组绑定外部的元素或访问空对象的方法时。在Java中,throwable下的所有异常都是checked异常,而Error和RuntimeException的直接子类是unchecked异常。

未检查异常最好的部分是它不会降低代码可读性,同时保持客户机代码干净。未检查异常的一些示例包括算术异常、ClassCastException、NullPointerException、ArrayIndexOutOfBound、IllegalArgumentException、IllegalStateException、ArrayStoreException、SecurityException等。

检查和未检查异常之间的差异

已检查和未检查异常的定义

Checked异常和Unchecked异常是Java中存在的两种类型的异常,以确保应用程序的正常流。两者的作用是相同的,即在Java中处理异常,尽管在功能上没有区别,但是没有一个规则来决定何时使用checked异常,何时使用unchecked异常。Checked异常是编译时检查的异常,而Unchecked异常是编译时不检查的异常。

检查和未检查异常的基础知识

checked异常是指在程序的直接控制之外发生的无效情况,而unchecked异常是指程序中的错误或程序逻辑中无法在运行时恢复的bug。

异常处理

如果一个方法抛出一个选中的异常,编译器将检查该方法是否使用try catch块处理该异常,或者使用throws关键字指定异常。如果该方法不提供处理代码,它将显示编译错误。相反,程序编译得很好,因为编译器在编译时不检查未检查的异常。

异常勾选原因

通常会处理非从RunTimeException派生的异常,而很少处理在运行时发生的as异常。当失败的可能性太大时,会发生选中的异常。另一方面,未经检查的异常主要是由于编程错误引起的。RuntimeException和Error类下的所有异常都是未检查的异常,而throwable下的所有其他异常都是已检查的异常。

已检查和未检查异常的示例

检查异常的一些例子有IOException、DataAccessException、IllegalAccessException、interruptedeexception、ClassNotFoundException等等。未检查异常的示例包括nullpointereexception、ArithmeticException、ArrayIndexOutOfBound、IllegalArgumentException、illegalstateeexception、ArrayStoreException、SecurityException等。

检查与未检查异常:比较图

选中的(checked)和未检查的异常(unchecked exception)的区别

总结 - 已检查的(of checked) vs. 未检查的异常(unchecked exception)

Checked异常和Unchecked异常是Java中存在的两种类型的异常。虽然这两个例外的功能是相同的,但它们也有各自的不同之处。checked异常和unchecked异常的主要区别在于前者由编译器检查,而后者则逃避编译器的注意。在编译时检查并处理的异常称为检查异常,而在编译时未检查并处理的异常称为未检查异常。本文解释了什么是checked和什么是unchecked异常,何时使用它们,并解释了两者之间的区别。

  • 发表于 2021-06-25 08:14
  • 阅读 ( 401 )
  • 分类:IT

你可能感兴趣的文章

扔(throw)和抛出java(throws in java)的区别

...常见的运行时错误是被零除并计算超出数组边界的元素。异常是由程序中的运行时错误引起的条件。当发生异常时,程序执行终止。如果程序员想继续执行剩余的代码,那么程序员可以捕获由错误条件引发的异常对象并显示错误...

  • 发布于 2020-09-21 19:02
  • 阅读 ( 353 )

选中的(checked)和java中的未检查异常(unchecked exception in java)的区别

...包括算术异常和ArrayOutOfBound异常。本文讨论Java中checked和unchecked异常之间的区别。Java中checked异常和unchecked异常之间的关键区别在于编译器检查checked异常,而编译器不检查checked异常。 目录 1. 概述和主要区别 2. Java中的检查异常...

  • 发布于 2020-10-19 08:38
  • 阅读 ( 279 )

java异常:您处理的对吗?

... 异常有两种类型:checked和unchecked。已检查的异常必须由调用代码处理。此规则由java编译器强制执行。另一方面,未经检查的异常可以向上传播到调用链,而不必显式声明它。下面的例子将阐明。 ...

  • 发布于 2021-03-13 09:11
  • 阅读 ( 256 )

如何正确处理java异常

...,C#只有未检查的异常)。必须在抛出异常的方法中捕获选中的异常,否则代码将无法编译。 ...

  • 发布于 2021-03-14 17:31
  • 阅读 ( 237 )

如何修复windows10系统服务异常停止码

... 主要的操作过程是更新驱动程序并检查windows10文件系统是否有错误,但是您应该仔细检查下面的列表,直到系统服务异常错误永久消失。 ...

  • 发布于 2021-03-18 05:58
  • 阅读 ( 300 )

windows10中机器检查异常bsod的修复

机器检查异常是严重的Windows系统错误。结果如何?死亡的蓝屏。不幸的是,机器检查异常错误通常不是一次性的。一些用户报告说受到机器检查异常错误的困扰,在到达承诺之地之前,他们不得不尝试一长串潜在的修复程序。 ...

  • 发布于 2021-03-23 17:49
  • 阅读 ( 263 )

如何修复windows10中的kmode异常未处理错误

...钮的作用”。 导航到“关机设置”并取消选中“打开快速启动”框。 保存更改并退出。 ...

  • 发布于 2021-03-27 00:07
  • 阅读 ( 301 )

如果谷歌chrome没有自动更新,你怎么检查它的版本?

...Update Service (gupdate) and Google Update Service (gupdatem). 7. Deselect/uncheck both Google services and click Apply. Click OK to save the settings. 8. Now you will be asked whether you want to exit without a restart or if you want to restart your computer now. Choose one or the other according ...

  • 发布于 2021-04-09 03:41
  • 阅读 ( 169 )

错误(error)和c中的异常#(exception in c#)的区别

...外,没有强制规定最后一个区块。 异常有两种类型,即选中的异常和未选中的异常。编译器知道检查的异常。另一方面,编译器不知道未检查的异常。 Figure 1: C# program with an exception 上面是一个例外的程序。变量“a”的值为10,...

  • 发布于 2021-07-01 09:26
  • 阅读 ( 245 )

除了(except)和除(other than)的区别

...”是单词“Except”的派生词,可以表示“为焦点对象提供异常”。该术语在语法上有两种不同的形式,即-介词汇合点当一个词用在一个句子中时,如果是介词形式,首先它后面必须跟一个名词。其次,它的意思变为“在某物之...

  • 发布于 2021-07-09 13:12
  • 阅读 ( 571 )
919760604
919760604

0 篇文章

相关推荐