什么是异常处理?(exception handling?)

异常处理是一种常见的编程语言结构,它允许程序识别并优雅地处理在运行时可能遇到的错误。它的工作原理是,当发现错误时,将程序流从正常执行更改为一组特定的缓解措施。程序员可以创建特定的操作集,当某些错误发生时调用这些操作集。对于程序来说,发现和处理异常不一定是致命事件;在异常处理发生后,程序执行有时可能继续。...

异常处理是一种常见的编程语言结构,它允许程序识别并优雅地处理在运行时可能遇到的错误。它的工作原理是,当发现错误时,将程序流从正常执行更改为一组特定的缓解措施。程序员可以创建特定的操作集,当某些错误发生时调用这些操作集。对于程序来说,发现和处理异常不一定是致命事件;在异常处理发生后,程序执行有时可能继续。

Most programming languages, including C++, have specific keywords and control structures that can be placed into code to handle errors.

在编写特定代码时,通常可以确定需要在哪里进行异常处理。在这种情况下,大多数编程语言,包括java和C++,都有特定的关键字和控制结构,这些结构和代码可以被放入代码中来处理错误。这些结构可以处理各种各样的错误,通过适当的维护,程序员通常可以预见特定代码段的大部分可能错误。

异常处理对于解析输入也很有用。例如,在解析数字输入时,如果设置了正确的测试和异常处理程序,可以立即判断数据段是否为非数字。如果发生异常,处理程序会捕获它,这会立即告诉程序输入无效。接下来会发生什么取决于程序其余部分的结构;它可能退出,也可能继续并忽略无效的输入。

正确的异常处理并不能保证程序的完美执行。它也不能保证程序在发现错误后会停止,也不能保证程序会继续。为了正确地处理错误,程序员必须结合常识和对细节的仔细关注来使用异常处理。理想情况下,正确的错误处理将允许程序避免最严重类型的错误,例如无效的内存访问,同时提供有关可修复问题的信息,例如无效输入或程序执行中的意外问题。

异常处理捕获称为“运行时”错误的错误;它不能保证代码没有bug或语法错误。在代码中进行错误处理并不能保证代码是正确的。错误处理可能会遗漏代码中的错误,即使是最好的错误捕获也很少是万无一失的。调试完成后,异常处理的存在使得代码维护和将来的调试(如果需要)更加容易。

  • 发表于 2021-12-13 15:38
  • 阅读 ( 123 )
  • 分类:互联网

你可能感兴趣的文章

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

...键字,而throws用于声明异常。 目录 1. 概述和主要区别 2. 什么是Java中的throw 3. Java中的throws是什么 4.Java中throw和throws的相似性 5. 并列比较——以表格形式在Java中抛出与抛出 6. 摘要 什么是**java(throw in java)? 关键字throw用于显式地...

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

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

...ecked异常。 目录 1. 概述和主要区别 2. Java中的检查异常是什么 3. 什么是Java中的未检查异常 4. Java中Checked和Unchecked异常的相似性 5. 并行比较——Java中以表格形式显示的选中异常与未检查异常 6. 摘要 什么是java中的检查异常(checked...

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

java异常:您处理的对吗?

... 你有什么与战争故事有关的例外吗?如果是,请在下面的评论部分告诉我们。 ...

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

如何正确处理java异常

... 在本文中,您将了解什么是异常,它们为什么重要,如何使用它们,以及要避免的常见错误。大多数现代语言都有某种类型的异常处理,因此如果您从Java开始,您可以随身携带这些技巧中的...

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

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

...有时您的计算机可能无法检测到所有驱动程序。这就是为什么用户在处理这个错误时应该采取的第一步是找到导致问题的确切驱动程序。 ...

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

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

...序或更新现有驱动程序时也可能发生这种情况。这就是为什么建议用户在安装新软件(从可信站点下载)或驱动程序时暂时禁用防病毒软件。 ...

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

为什么新一代处理器在相同的时钟速度下速度更快?

...戈·塞纳(Flickr)提供。 问题 超级用户读者agz想知道为什么新一代处理器在相同的时钟速度下更快: Why, for example, would a 2.66 GHz dual-core Core i5 be faster than a 2.66 GHz Core 2 Duo, which is also dual-core? Is this because of newer instructi*** that can p...

  • 发布于 2021-04-10 20:35
  • 阅读 ( 115 )

本地ip地址和本地ip地址有什么区别?

...驱动的问答网站分组。 问题 超级用户读者Diogo想知道为什么ping命令对localhost和本地IP地址的处理方式不同,而从表面上看,它们似乎是相同的: Using cmd and ping on Windows gave me the following results: Pinging “localhost”: Pinging “192.168.0...

  • 发布于 2021-04-12 00:27
  • 阅读 ( 266 )

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

...中断,导致应用程序异常终止,不建议这样做。这就是为什么要处理这些异常,这就是异常处理机制的用武之地。 Java中存在两种类型的异常:Checked异常和Unchecked异常。在本文中,我们将详细讨论什么是checked和unchecked异常以及...

  • 发布于 2021-06-25 08:14
  • 阅读 ( 403 )

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

...的,而异常是可恢复的。 覆盖的关键领域 1.C#中的错误是什么-定义,功能2.C#中的异常是什么-定义,功能3.C#中的错误和异常之间的区别是什么-关键区别的比较 关键术语 错误,异常,C# 什么是c中的错误#(error in c#)? 错误是由于...

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

0 篇文章

相关推荐