c++ - 编写一个带有我自己的异常的包装器

标签 c++ oop exception

我想制作一个 FileIO 类,它将提供一些方法,如写入或读取。另外我想隐藏 FileIO 的实现(目前,它只是从 std::fstream 派生)。问题是 std::fstream 可能会抛出一些异常,但我不希望我的 FileIO 类抛出 std::fstream 异常,我想抛出我自己的异常(例如 FileIO::SomethingBadHappened)。有没有一种优雅的方式来做到这一点?

我的解决方案是用一个额外的 try/catch block 重写 std::fstream 的每个方法。

编辑: FileIO 类只是一个例子。我正在寻找包装任意类的通用解决方案。

最佳答案

做到这一点的“优雅”方法是不要重新发明轮子。尤其是这个轮子,往返月球上万次。这是经过验证的。你不需要发明这个在那里

关于c++ - 编写一个带有我自己的异常的包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091624/

相关文章:

c++ - 观察内存位置/从代码安装 'data breakpoint'?

c++ - 在执行 std::for_each 期间累积结果,该结果被异常中断

c++ - 为什么我的互斥量没有在我的其他线程锁定它之前锁定它?

javascript - 销毁构造函数实例

python - 在 Python 中使用方法 "overloading"设计回调

java - JDK中有没有一个好的异常类来应对用户输入太长的情况?

c++ - 赋值运算符的返回类型是什么?

c++ - 通过数组绘制对象

java - 扫描仪对象具有类属性,而不是在代码初始化中

java - @ExceptionHandler 没有捕获 HttpMessageNotReadableException