c++流的异常捕获

在 C++ 中,当使用流(如 std::ifstreamstd::ofstream)时,常见的异常可以使用以下类型的异常捕获:

  1. std::ios_base::failure
    • 用于捕获与流操作相关的错误,例如打开文件失败、读写错误等。
  2. std::exception
    • 作为基类,可以捕获所有标准异常,适合处理未具体指定的流错误。
c++ 复制代码
#include <iostream>
#include <fstream>
#include <exception>

int main() {
    try {
        std::ifstream file("nonexistent.txt");
        if (!file) {
            throw std::ios_base::failure("Failed to open file");
        }
        // 进行读操作
    } catch (const std::ios_base::failure& e) {
        std::cerr << "Stream error: " << e.what() << std::endl;
    } catch (const std::exception& e) {
        std::cerr << "General exception: " << e.what() << std::endl;
    }
    return 0;
}
相关推荐
粉红色回忆1 天前
用链表实现了简单版本的malloc/free函数
数据结构·c++
写代码的小球1 天前
C++计算器(学生版)
c++·算法
k***92161 天前
【C++】继承和多态扩展学习
java·c++·学习
序属秋秋秋1 天前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
l木本I1 天前
Reinforcement Learning for VLA(强化学习+VLA)
c++·人工智能·python·机器学习·机器人
strive programming1 天前
Effective C++_异常(解剖挖掘)
c++
wregjru1 天前
【读书笔记】Effective C++ 条款1~2 核心编程准则
java·开发语言·c++
青岛少儿编程-王老师1 天前
CCF编程能力等级认证GESP—C++1级—20251227
java·c++·算法
微露清风1 天前
系统性学习C++进阶-第十四讲-二叉搜索树
开发语言·c++·学习
再睡一夏就好1 天前
多线程并发编程核心:互斥与同步的深度解析及生产者消费者模型两种实现
linux·运维·服务器·jvm·c++·笔记