From 72db49afe96aad453c46dfe59f9daa6fa7dc31f1 Mon Sep 17 00:00:00 2001 From: Xavier Robin <xavier.robin@unibas.ch> Date: Thu, 21 Dec 2023 10:59:39 +0100 Subject: [PATCH] Improve error message --- modules/io/src/mol/star_writer.cc | 18 +++++++++--------- modules/io/src/mol/star_writer.hh | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/modules/io/src/mol/star_writer.cc b/modules/io/src/mol/star_writer.cc index 327d00563..1a017e934 100644 --- a/modules/io/src/mol/star_writer.cc +++ b/modules/io/src/mol/star_writer.cc @@ -21,29 +21,29 @@ namespace ost{ namespace io{ -StarWriter::StarWriter(std::ostream& stream): filename_("<stream>"), - file_open_(true) { +StarWriter::StarWriter(std::ostream& stream): filename_("<stream>") { if(!stream) { - file_open_ = false; + std::stringstream ss; + ss << "Cannot open stream: [Errno " << errno << "] " + << strerror(errno) << std::endl; + throw IOException(ss.str()); } stream_.push(stream); } StarWriter::StarWriter(const String& filename): filename_(filename), - file_open_(true), fstream_(filename.c_str()) { if (!fstream_) { - file_open_ = false; + std::stringstream ss; + ss << "Cannot open " << filename_ << ": [Errno " << errno << "] " + << strerror(errno) << std::endl; + throw IOException(ss.str()); } stream_.push(fstream_); } void StarWriter::Write(const String& data_name) { - if (!file_open_) { - throw IOException("yolo"); - } - // write data header stream_ << "data_" << data_name << std::endl; diff --git a/modules/io/src/mol/star_writer.hh b/modules/io/src/mol/star_writer.hh index 3ef9c64c0..41e6fbfa8 100644 --- a/modules/io/src/mol/star_writer.hh +++ b/modules/io/src/mol/star_writer.hh @@ -296,7 +296,6 @@ public: void Write(const String& data_name); private: String filename_; - bool file_open_; std::ofstream fstream_; boost::iostreams::filtering_stream<boost::iostreams::output> stream_; std::vector<StarWriterObjectPtr> categories_to_write_; -- GitLab