给自己的函数添加异常报告(Add exception reporting c++)
发布日期:2021-05-08 04:51:56 浏览次数:17 分类:精选文章

本文共 963 字,大约阅读时间需要 3 分钟。

为了便于调试代码,C++提供了异常处理机制,类似于C语言中的assert。通过throw抛出异常对象,可以在函数中检查边界条件;使用try捕捉异常,配合catch处理异常。

异常处理机制

  • throw关键字

    • 用于在函数中抛出异常对象,可抛出任意类型,如字符串、对象或自定义异常类。
    • 示例:
      double division(int a, int b) {
      if (b == 0) {
      throw "Division by zero condition!";
      }
      return a / b;
      }
  • try、catch关键字

    • try用于包围可能抛出异常的代码块。
    • catch用于捕捉异常并处理,配合try使用。
  • 标准异常

    • C++提供了多种标准异常,如std::exceptionstd::out_of_bounds_error等。
    • 示例:
      try {
      // 可能抛出异常的代码
      } catch (std::overflow_error &e) {
      e.what(); // 获取异常信息
      }
  • 示例代码

    #include 
    #include
    using namespace std;
    double division(int a, int b) {
    if (b == 0) {
    throw "Division by zero condition!";
    }
    return a / b;
    }
    int main() {
    int x = 50;
    int y = 0;
    double z = 0;
    try {
    z = division(x, y);
    cout << z << endl;
    } catch (const char* msg) {
    cerr << msg << endl;
    }
    return 0;
    }

    注意事项

    • 使用标准异常,确保兼容性和支持。
    • 捕捉更具体的异常类型以便更有效地处理。
    • 异常传播机制允许异常向外传播至最高层try。

    通过合理使用异常处理,代码变得更健壯,错误处理更高效。

    上一篇:二叉堆的c++模板类实现
    下一篇:3D点云基础知识(二)-bilibili视频资源整理(二)鞋点胶点云轮廓提取

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2025年04月05日 01时42分57秒