Explorar el Código

Cleaner error handling in dds::open

default_compile_flags
vector-of-bool hace 3 años
padre
commit
1bbd32aa05
Se han modificado 1 ficheros con 2 adiciones y 7 borrados
  1. +2
    -7
      src/dds/util/fs.cpp

+ 2
- 7
src/dds/util/fs.cpp Ver fichero

@@ -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;

Cargando…
Cancelar
Guardar