page contents

C++ 异常处理

异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。 异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw.........

attachments-2021-08-hDRAkozS6114c1a975154.png

原由

异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。

异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:trycatchthrow


u  throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。

u  catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。catch 关键字用于捕获异常。

u  try: try 块中的代码标识将被激活的特定异常。它后面通常跟着一个或多个 catch 块。

如果有一个块抛出一个异常,捕获异常的方法会使用 try catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。使用 try/catch 语句的语法如下图所示:

attachments-2021-08-beVqsb3n6114c1fcdb778.png

抛出异常

您可以使用 throw 语句在代码块中的任何地方抛出异常。throw 语句的操作数可以是任意的表达式,表达式的结果的类型决定了抛出的异常的类型。

以下是尝试除以零时抛出异常的实例:

attachments-2021-08-LCPXsSSD6114c204976f7.png 

 

捕获异常

catch 块跟在 try 块后面,用于捕获异常。您可以指定想要捕捉的异常类型,这是由 catch 关键字后的括号内的异常声明决定的。

attachments-2021-08-W0XzAVqt6114c26490715.png

如下图所示,抛出一个除以零的异常,并在catch块中捕获该异常。

attachments-2021-08-pUh282UH6114c260239ec.png


由于我们抛出了一个类型为 const char* 的异常,因此,当捕获该异常时,我们必须在 catch 块中使用 const char*。当上面的代码被编译和执行时,它会产生下列结果:

attachments-2021-08-UosxtPes6114c243689c8.png 

 


以上就是有关C++异常处理的相关内容了,想要了解更多有关c++语言的其它知识也可关注六星社区网站。

  • 发表于 2021-08-12 14:41
  • 阅读 ( 437 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
小柒
小柒

1474 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章