瀏覽代碼

Cleaner error handling in dds::open

default_compile_flags
vector-of-bool 3 年之前
父節點
當前提交
1bbd32aa05
共有 1 個檔案被更改,包括 2 行新增7 行删除
  1. +2
    -7
      src/dds/util/fs.cpp

+ 2
- 7
src/dds/util/fs.cpp 查看文件

@@ -7,13 +7,8 @@
using namespace dds;

std::fstream dds::open(const fs::path& filepath, std::ios::openmode mode, std::error_code& ec) {
std::fstream ret;
auto mask = ret.exceptions() | std::ios::badbit;
ret.exceptions(mask);

try {
ret.open(filepath.string(), mode);
} catch (const std::ios::failure&) {
std::fstream ret{filepath, mode};
if (!ret) {
ec = std::error_code(errno, std::system_category());
}
return ret;

Loading…
取消
儲存