diff --git a/src/FileWrapper.cpp b/src/FileWrapper.cpp index f1daba1c778452045ae4bebb4095bb34a6e38c0e..f53e764407e8f4f436f3c9560346c6b49141a4a9 100644 --- a/src/FileWrapper.cpp +++ b/src/FileWrapper.cpp @@ -25,8 +25,15 @@ FileWrapper::FileWrapper(Tango::DeviceImpl* deviceImpl_p, m_outputFilePath /= fileStream.str(); - if(!boost::filesystem::exists(m_outputFilePath)) + try + { + if(!boost::filesystem::exists(m_outputFilePath)) boost::filesystem::create_directories(m_outputFilePath); + } + catch(boost::filesystem::filesystem_error& ex) + { + throw std::logic_error(ex.what()); + } if(!boost::filesystem::is_directory(m_outputFilePath)) throw std::logic_error("Destination path \'" @@ -152,7 +159,7 @@ void FileWrapper::cleanUp() m_outputFileStream.close(); boost::system::error_code errorCode; - + if(boost::filesystem::exists(m_outputFilePath)) boost::filesystem::remove(m_outputFilePath, errorCode); }