已检查异常(checked exception)和运行时异常(runtime exception)的区别

异常是一种特殊类型的事件,它可以干扰正常的程序流。exception这个名字来自“exception event”。引发异常是创建异常对象并将其交给运行时系统的过程。当运行时系统接收到异常对象时,它将尝试在调用堆栈中找到某人来处理它,方法是按相反的顺序遍历它(方法被调用的顺序)。如果运行时系统找到具有异常处理程序的方法,则该运行时系统将成功。异常处理程序是可以正式处理所述异常的代码块。如果运行时系...

检查异常vs运行时异常

异常是一种特殊类型的事件,它可以干扰正常的程序流。exception这个名字来自“exception event”。引发异常是创建异常对象并将其交给运行时系统的过程。当运行时系统接收到异常对象时,它将尝试在调用堆栈中找到某人来处理它,方法是按相反的顺序遍历它(方法被调用的顺序)。如果运行时系统找到具有异常处理程序的方法,则该运行时系统将成功。异常处理程序是可以正式处理所述异常的代码块。如果运行时系统找到适当的处理程序,它将把异常对象传递给处理程序。这叫做捕捉异常。但是,如果无法处理异常,程序将终止。在Java中,异常继承自Throwable类。检查异常是编译器强制处理的异常。运行时异常是一种异常类型,编译器不检查这些异常。

什么是检查异常?

选中的异常是类的对象之一java.lang.exception或其子类(除了java.lang.RuntimeException以及它的子类)。检查的异常在编译时被“检查”。这意味着程序员必须捕捉或抛出这些异常,否则编译会抱怨(导致编译器错误)。由于这个原因,许多检查过的异常对于程序员来说是非常熟悉的。例如,IOException及其子类都是checked异常,每当程序员处理访问或修改文件时,编译器都会进行检查,以确保所有可能的IOException都由程序员处理。

什么是运行时异常?

运行时异常包括java.lang.RuntimeException以及它的所有子类。从理论上讲,它们与checked异常具有相同的用途,可以像checked异常一样抛出或处理,但编译器不强制执行对它们的处理。因此,运行时异常属于未检查异常的家族。NullPointerException、NumberFormatException、ClassCastException和ArrayIndexOutOfBoundsException是Java中常见的运行时异常。

检查异常和运行时异常之间的区别是什么?

虽然,检查异常和运行时异常在程序执行期间都是不希望发生的,但它们有它们的区别。已检查的异常处理由编译器强制执行,但运行时异常则不是。因此,为了编译代码,必须抛出或处理已检查的异常,但是对于运行时异常没有这样的要求。因此,运行时异常与错误一起属于未检查异常类别。

  • 发表于 2020-10-27 16:12
  • 阅读 ( 142 )
  • 分类:IT

你可能感兴趣的文章

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

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

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

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

关键区别——java中的检查异常与未检查异常 异常是运行时错误。有两种类型的异常称为检查异常和未检查异常。当发生选中的异常时,Java应用程序连接到外部资源,如文件、设备或数据库。这些异常由编译器检查。检查的...

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

编译时间(compile time)和运行时(runtime)的区别

...发生的错误称为编译时错误,而在运行时发生的错误称为异常。 目录 1. 概述和主要区别 2. 什么是编译时间 3. 什么是运行时 4.编译时和运行时的相似性 5. 并行比较-以表格形式显示编译时与运行时 6. 摘要 什么是编译时间(compile t...

  • 发布于 2020-10-19 10:25
  • 阅读 ( 797 )

关于javarmi注册中心以及如何使用它的所有内容

... 使用netstat命令检查指定端口上是否确实存在侦听器: ...

  • 发布于 2021-03-12 15:58
  • 阅读 ( 338 )

java异常:您处理的对吗?

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

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

如何正确处理java异常

... java中的检查异常与未检查异常 ...

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

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

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

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

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

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

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

如何修复windows10中的“系统线程异常未处理”bsod停止码

“系统线程异常未处理”是常见的Windows 10错误,主要是由于过时或不兼容的驱动程序引起的。 ...

  • 发布于 2021-03-26 15:51
  • 阅读 ( 294 )

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

... 现在是时候重新启动计算机并检查错误是否仍然存在。如果错误得到解决,则表示死亡蓝屏错误是由第三方软件的干扰引起的。 ...

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

0 篇文章

相关推荐