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

c++ catch

作者:绝朢╭ァ   发布日期:2026-07-13   浏览:39

#include <iostream>
#include <exception>

// 定义一个自定义异常类
class MyException : public std::exception {
public:
    const char* what() const throw () {
        return "My custom exception occurred";
    }
};

void mayThrow() {
    // 可能抛出异常的函数
    bool error = true;
    if (error) {
        throw MyException();
    }
}

int main() {
    try {
        mayThrow();
    } catch (const MyException& e) {
        // 捕获自定义异常
        std::cout << "Caught an exception: " << e.what() << '\n';
    } catch (const std::exception& e) {
        // 捕获标准库异常
        std::cout << "Caught a standard exception: " << e.what() << '\n';
    } catch (...) {
        // 捕获所有其他类型的异常
        std::cout << "Caught some other exception\n";
    }

    return 0;
}

解释说明:

  1. 自定义异常类:我们定义了一个继承自 std::exception 的自定义异常类 MyException,并重写了 what() 方法来返回异常信息。
  2. 可能抛出异常的函数mayThrow() 函数中根据条件抛出了一个 MyException 异常。
  3. try-catch 块:在 main() 函数中,使用 try 块包裹可能抛出异常的代码,并使用多个 catch 块来捕获不同类型的异常:
    • 第一个 catch 块专门捕获 MyException 类型的异常。
    • 第二个 catch 块捕获所有标准库异常(如 std::runtime_error)。
    • 最后一个 catch (...) 捕获所有未被前两个 catch 块捕获的异常。

上一篇:c++ 计时器

下一篇:c++ +=

大家都在看

c++闭包

c++向上取整的代码

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

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++字符串切片

c++ functional

c++框架代码

c++格式化字符串

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

Laravel 中文站