Files
Jungfraujoch/writer/MakeDirectory.h
Filip Leonarski 1757d42182 Initial commit
Signed-off-by: Filip Leonarski <filip.leonarski@psi.ch>
2023-04-06 11:17:59 +02:00

22 lines
735 B
C++

// Copyright (2019-2022) Paul Scherrer Institute
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef JUNGFRAUJOCH_MAKEDIRECTORY_H
#define JUNGFRAUJOCH_MAKEDIRECTORY_H
#include <filesystem>
#include "../common/JFJochException.h"
inline void MakeDirectory(const std::string &input) {
try {
std::filesystem::path path(input);
if (path.has_parent_path())
std::filesystem::create_directories(path.parent_path());
} catch (const std::filesystem::filesystem_error &err) {
throw JFJochException(JFJochExceptionCategory::FileWriteError,
"Cannot create subdirectory for file " + input + ": " + std::string(err.what()));
}
}
#endif //JUNGFRAUJOCH_MAKEDIRECTORY_H