异常和错误都是 Throwable 的子类。 然而,它们不是一回事。
它们有非常不同的原因和结果。人们可能会混淆这两个术语并互换使用。
然而,在计算机术语中,它们代表不同的情况。 此外,它们需要不同的处理方式。
因此,人们必须认识并认识到它们之间的区别点。
关键精华
- 错误是与预期结果或行为的偏差,而异常是程序执行期间发生的破坏程序正常流程的事件。
- 程序员可以检测并处理错误,而程序则可以处理异常。
- 错误是由代码中的语法或逻辑错误引起的,而不可预见的情况或输入错误会导致异常。
错误与异常
错误是在执行代码时发生的问题,阻止程序按预期运行,可能由语法错误、逻辑缺陷或外部因素引起。 异常是程序执行期间发生的一种错误,但可以由程序本身处理。
任何导致计算机意外出现故障的问题都可以称为错误。 计算机可能同时存在软件和硬件故障。
有几种不同类型的错误,每一种都有无数的变化。 解决电脑问题,首先要弄清楚是什么故障,从哪里来的。
错误是向用户显示的信号。
在编程中,异常是在程序执行期间发生并干扰其命令执行的不可预见的事件,例如错误输入或连接丢失。
“exception”一词是“extraordinary incident”的简写。 虽然还有其他的,但错误是一种形式 未经检查的异常.
在运行时和编译时都会发生的异常。 最普遍的计算机故障类型是软件错误,通常通过软件更新或补丁来解决。
未经检查的异常是计划外的事件。 计算机在编译期间不会评估这些计划外事件。
对比表
比较参数 | 误差 | 特殊课程 |
---|---|---|
Type | 这是一个机密的例外。 但它属于未经检查的类别。 | 它分为已检查和未检查类型。 |
小包装 | java.lang.error 是包含错误类的包。 | java.lang.exception 是包含异常类的包。 |
修复工具 | 它无法恢复,所以它是不可恢复的。 这是错误发生的一个缺点。 | 它可以被回收和处理。 因此,它是可以恢复的。 因此,这些情况可以得到纠正。 |
发生 | 与异常不同,它不会在编译期间发生。 | 与错误不同,它在运行时和编译时都会发生。 |
国际私人包机价格项目范例 | 这种情况的一些实例是 OutOfMemoryError、IOError。 | 一些实例是 NullPointerException、SqlException。 |
什么是错误?
错误可以定义为任何意外发生并导致计算机出现故障的问题。 有几种不同类型的错误。
这些错误中的每一个本身都有数百种变化。
最普遍的计算机故障类型是软件错误,通常通过软件更新或补丁来解决。
例如,文件名称、问题类型和内存地址可能会在 Windows 的蓝屏错误消息中给出。 将此数据输入搜索引擎以寻找问题的解决方案。 如果您没有看到错误消息,请查找您遇到的症状。 如果您的计算机在没有通知的情况下突然关闭,很可能是硬件问题而不是软件问题。
系统内部或连接到计算机的硬件的任何问题都称为硬件故障。 虽然固件升级可以帮助解决一些硬件问题,但大多数这些错误都是通过更换有故障的硬件来解决的。
它主要被归类为未经检查的异常。 java.lang.error 是包含错误类的包。 一不能复原。 所以是不可挽回的。 这个原因是错误发生的一个缺点。
什么是异常?
在计算机中,异常是在程序执行期间发生的不可预见的事件,它会干扰其指令流,例如错误输入或连接丢失。
例外是 Java类 称为 java.lang。
Exception 的两个基本子类是 IOException 和 RuntimeException。 计算机编译程序时,出现验证异常; 在大多数情况下,该程序应该能够从中收回成本。
其中包括 FileNotFoundException 和 InvalidInputException 等异常。 为了解决这个问题,可以构建异常处理代码,让程序继续运行。
未经检查的异常是计算机在编译期间未评估的计划外事件; 它们发生在程序执行期间。 它们通常未经处理。
A 终端 异常是应用程序无法解决的未经检查的异常,需要操作系统关闭程序,甚至关闭整个系统。
尽管还有其他错误,但错误是一种未经检查的异常。
一个错误无法恢复。 因此,这是不可挽回的。
这个原因是错误发生的一个缺点。 因此,可以纠正这些情况。
与错误不同,它在运行时和编译时都会发生。 这方面的一些实例是 NullPointerException 和 SqlException。
错误和异常之间的主要区别
- Error 被归类为未经检查的异常,而 Exception 被归类为已检查和未经检查的类型。
- java.lang.error 是包含错误类的包,而 java.lang. 异常是包含异常类的包。
- 错误无法恢复,因此是不可恢复的。 这是错误发生的一个缺点。 另一方面,可以恢复和处理异常。 因此,它是可以恢复的。 因此,这些情况可以得到纠正。
- 编译期间不会发生错误,这与在运行时和编译期间都发生的异常不同。
- 一些错误实例是 OutOfMemoryError 和 IOError。 异常的一些实例是 NullPointerException 和 SqlException。
- https://academic.oup.com/cercor/article-abstract/22/2/260/333894
- https://ieeexplore.ieee.org/abstract/document/6009257/
最后更新时间:11 年 2023 月 XNUMX 日
Sandeep Bhandari 拥有塔帕尔大学计算机工程学士学位(2006 年)。 他在技术领域拥有 20 年的经验。 他对各种技术领域都有浓厚的兴趣,包括数据库系统、计算机网络和编程。 你可以在他的网站上阅读更多关于他的信息 生物页面.
这篇文章提出了错误和异常之间的本质区别。对于编程和软件开发人员来说,这是一本内容丰富的读物。
我很欣赏本文中提供的详细比较和清晰的术语。它有助于建立对这些主题的良好理解。
能够区分错误和异常对于编程和调试至关重要。
虽然本文包含有关错误和异常的准确信息,但所使用的交付和语言还有待改进。
比较表提供了错误和异常之间差异的简明视图。对于该领域的学生和专业人士来说,这是一个有用的资源。
这篇文章对错误和异常的概念进行了全面的解释。示例比较有效地阐明了差异。