如何在C++中处理多个异常?

c++++ 处理多个异常的方式包括使用 try-catch 块,其允许针对特定异常类型捕获并处理异常;还可以使用 try 块和一个 catch (…) 块来捕获所有异常类型。实战案例中,try 块尝试除法操作,并通过两个 catch 块分别捕获 invalid_argument 和 exception 异常类型,输出相应的错误信息。

如何在C++中处理多个异常?

如何在 C++ 中处理多个异常

C++ 为处理多个异常提供了多种方法,包括:

try-catch 块

try {  // 代码可能引发异常} catch (const std::exception& e) {  // 处理 std::exception 异常} catch (const std::runtime_error& e) {  // 处理 std::runtime_error 异常}

catch(…)

立即学习“C++免费学习笔记(深入)”;

try {  // 代码可能引发异常} catch (...) {  // 处理所有异常}

typeid

try {  // 代码可能引发异常} catch (const std::exception& e) {  if (typeid(e) == typeid(std::runtime_error)) {    // 处理 std::runtime_error 异常  }}

实战案例

以下示例演示了使用 try-catch 块处理多个异常:

#include #include using namespace std;int main() {  try {    int x = 10;    int y = 0;    cout << "x / y = " << x / y << endl;  } catch (const invalid_argument& e) {    cout << "Division by zero error: " << e.what() << endl;  } catch (const exception& e) {    cout << "Error: " << e.what() << endl;  }  return 0;}

在这个示例中:

try 块尝试执行可能引发异常的代码。catch (const invalid_argument& e) 块处理 invalid_argument 异常。catch (const exception& e) 块处理所有其他异常。

运行此程序会输出以下结果:

Division by zero error: invalid argument

以上就是如何在C++中处理多个异常?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1453573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 06:06:46
下一篇 2025年12月18日 06:06:53

相关推荐

发表回复

登录后才能评论
关注微信