Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ try catch用法

作者:_永恒灬莫言   发布日期:2025-12-30   浏览:48

#include <iostream>
#include <stdexcept>

using namespace std;

// 定义一个函数,可能会抛出异常
void mayThrow(bool throwException) {
    if (throwException) {
        // 抛出一个异常
        throw runtime_error("An error occurred!");
    } else {
        cout << "No exception was thrown." << endl;
    }
}

int main() {
    try {
        // 调用可能抛出异常的函数
        mayThrow(true);  // 将参数设为true以触发异常
    } catch (const runtime_error& e) {
        // 捕获并处理runtime_error类型的异常
        cout << "Caught an exception: " << e.what() << endl;
    } catch (...) {
        // 捕获所有其他类型的异常
        cout << "Caught some other exception." << endl;
    }

    // 再次调用但不抛出异常
    try {
        mayThrow(false);  // 将参数设为false以避免抛出异常
    } catch (const runtime_error& e) {
        cout << "Caught an exception: " << e.what() << endl;
    } catch (...) {
        cout << "Caught some other exception." << endl;
    }

    return 0;
}

解释说明:

  1. try 块try 块包含可能会抛出异常的代码。如果在 try 块中发生异常,则会立即跳转到相应的 catch 块进行处理。
  2. catch 块catch 块用于捕获和处理异常。可以有多个 catch 块来处理不同类型的异常。每个 catch 块后面跟着一个异常类型,只有当抛出的异常与该类型匹配时,才会执行对应的 catch 块。
  3. 通用异常捕获catch (...) 可以捕获任何类型的异常,通常放在最后作为兜底处理。
  4. 抛出异常:使用 throw 关键字可以显式地抛出异常。这里我们使用了 std::runtime_error 类来创建一个异常对象。

通过这种方式,程序可以在运行时处理各种异常情况,从而提高代码的健壮性和可维护性。

上一篇:c++宏

下一篇:assert c++

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站