Loading src/TNL/Exceptions/FileCloseError.hdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line /*************************************************************************** FileCloseError.h - description ------------------- begin : Mar 5, 2019 copyright : (C) 2019 by Tomas Oberhuber et al. email : tomas.oberhuber@fjfi.cvut.cz ***************************************************************************/ /* See Copyright Notice in tnl/Copyright */ // Implemented by: Tomas Oberhuber #pragma once #include <string> #include <stdexcept> #include <TNL/String.h> namespace TNL { namespace Exceptions { class FileCloseError : public std::runtime_error { public: FileCloseError( const String& fileName ) : std::runtime_error( "An error occurred when closing file " + fileName + "." ) {} }; } // namespace Exceptions } // namespace TNL src/TNL/Exceptions/FileOpenError.hdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line /*************************************************************************** FileOpenError.h - description ------------------- begin : Mar 5, 2019 copyright : (C) 2019 by Tomas Oberhuber et al. email : tomas.oberhuber@fjfi.cvut.cz ***************************************************************************/ /* See Copyright Notice in tnl/Copyright */ // Implemented by: Tomas Oberhuber #pragma once #include <string> #include <stdexcept> #include <TNL/String.h> namespace TNL { namespace Exceptions { class FileOpenError : public std::runtime_error { public: FileOpenError( const String& fileName ) : std::runtime_error( "Unable to open file " + fileName + "." ) {} }; } // namespace Exceptions } // namespace TNL src/TNL/File.hpp +16 −6 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ #include <memory> #include <iostream> #include <ios> #include <sstream> #include <TNL/File.h> #include <TNL/Assert.h> Loading @@ -19,8 +21,6 @@ #include <TNL/Exceptions/MICSupportMissing.h> #include <TNL/Exceptions/FileSerializationError.h> #include <TNL/Exceptions/FileDeserializationError.h> #include <TNL/Exceptions/FileOpenError.h> #include <TNL/Exceptions/FileCloseError.h> namespace TNL { Loading @@ -45,9 +45,16 @@ inline void File::open( const String& fileName, Mode mode ) { file.open( fileName.getString(), ios_mode ); } catch(...) catch( std::ios_base::failure ) { throw Exceptions::FileOpenError( fileName ); std::stringstream msg; msg << "Unable to open file " << fileName << " "; if( mode & Mode::In ) msg << " for reading."; if( mode & Mode::Out ) msg << " for writting."; throw std::ios_base::failure( msg.str() ); } this->fileName = fileName; Loading @@ -61,9 +68,12 @@ inline void File::close() { file.close(); } catch(...) catch( std::ios_base::failure ) { throw Exceptions::FileCloseError( fileName ); std::stringstream msg; msg << "Unable to close file " << fileName << "."; throw std::ios_base::failure( msg.str() ); } } // reset file name Loading Loading
src/TNL/Exceptions/FileCloseError.hdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line /*************************************************************************** FileCloseError.h - description ------------------- begin : Mar 5, 2019 copyright : (C) 2019 by Tomas Oberhuber et al. email : tomas.oberhuber@fjfi.cvut.cz ***************************************************************************/ /* See Copyright Notice in tnl/Copyright */ // Implemented by: Tomas Oberhuber #pragma once #include <string> #include <stdexcept> #include <TNL/String.h> namespace TNL { namespace Exceptions { class FileCloseError : public std::runtime_error { public: FileCloseError( const String& fileName ) : std::runtime_error( "An error occurred when closing file " + fileName + "." ) {} }; } // namespace Exceptions } // namespace TNL
src/TNL/Exceptions/FileOpenError.hdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line /*************************************************************************** FileOpenError.h - description ------------------- begin : Mar 5, 2019 copyright : (C) 2019 by Tomas Oberhuber et al. email : tomas.oberhuber@fjfi.cvut.cz ***************************************************************************/ /* See Copyright Notice in tnl/Copyright */ // Implemented by: Tomas Oberhuber #pragma once #include <string> #include <stdexcept> #include <TNL/String.h> namespace TNL { namespace Exceptions { class FileOpenError : public std::runtime_error { public: FileOpenError( const String& fileName ) : std::runtime_error( "Unable to open file " + fileName + "." ) {} }; } // namespace Exceptions } // namespace TNL
src/TNL/File.hpp +16 −6 Original line number Diff line number Diff line Loading @@ -12,6 +12,8 @@ #include <memory> #include <iostream> #include <ios> #include <sstream> #include <TNL/File.h> #include <TNL/Assert.h> Loading @@ -19,8 +21,6 @@ #include <TNL/Exceptions/MICSupportMissing.h> #include <TNL/Exceptions/FileSerializationError.h> #include <TNL/Exceptions/FileDeserializationError.h> #include <TNL/Exceptions/FileOpenError.h> #include <TNL/Exceptions/FileCloseError.h> namespace TNL { Loading @@ -45,9 +45,16 @@ inline void File::open( const String& fileName, Mode mode ) { file.open( fileName.getString(), ios_mode ); } catch(...) catch( std::ios_base::failure ) { throw Exceptions::FileOpenError( fileName ); std::stringstream msg; msg << "Unable to open file " << fileName << " "; if( mode & Mode::In ) msg << " for reading."; if( mode & Mode::Out ) msg << " for writting."; throw std::ios_base::failure( msg.str() ); } this->fileName = fileName; Loading @@ -61,9 +68,12 @@ inline void File::close() { file.close(); } catch(...) catch( std::ios_base::failure ) { throw Exceptions::FileCloseError( fileName ); std::stringstream msg; msg << "Unable to close file " << fileName << "."; throw std::ios_base::failure( msg.str() ); } } // reset file name Loading