我想创建一个 FileIO 类,它将提供一些方法,如写入或读取。我还想隐藏 FileIO 的实现(目前,它只是派生自 std::fstream)。问题是std::fstream 可能会抛出一些异常,但我不希望我的FileIO 类抛出std::fstream 异常,我想抛出我自己的(例如FileIO::SomethingBadHappened)。有没有一种优雅的方式来做到这一点?
我的解决方案是用额外的 try/catch 块重写 std::fstream 的每个方法。
编辑: FileIO 类只是一个例子。我正在寻找包装任意类的通用解决方案。