X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fexceptions.h;h=99f0a5d8735e83c9fca7a57f8b4f2fafc40846ba;hb=94ee305348f7d3eb548fd44ca4aa1c57645056b1;hp=fe87ababcad292335b52ed07d0328c19484420bb;hpb=5ab0c3bc04e4aa5acd883bb8126fc6b185c6c5d6;p=dcpomatic.git diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h index fe87ababc..99f0a5d87 100644 --- a/src/lib/exceptions.h +++ b/src/lib/exceptions.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2014 Carl Hetherington + Copyright (C) 2012-2020 Carl Hetherington This file is part of DCP-o-matic. @@ -25,6 +25,7 @@ #ifndef DCPOMATIC_EXCEPTIONS_H #define DCPOMATIC_EXCEPTIONS_H +#include "compose.hpp" extern "C" { #include } @@ -73,7 +74,7 @@ public: * @param f Name of the file that this exception concerns. */ FileError (std::string m, boost::filesystem::path f) - : std::runtime_error (m) + : std::runtime_error (String::compose("%1 with %2", m, f.string())) , _file (f) {} @@ -103,11 +104,17 @@ public: class OpenFileError : public FileError { public: + enum Mode { + READ, + WRITE, + READ_WRITE + }; + /** @param f File that we were trying to open. * @param error Code of error that occurred. - * @param reading true if we were opening to read, false if opening to write. + * @param mode Mode that we tried to open the file in. */ - OpenFileError (boost::filesystem::path f, int error, bool reading); + OpenFileError (boost::filesystem::path f, int error, Mode mode); }; /** @class ReadFileError.