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);
 }