projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make FileError say what path the problem was with.
[dcpomatic.git]
/
src
/
lib
/
exceptions.h
diff --git
a/src/lib/exceptions.h
b/src/lib/exceptions.h
index 98727e0cc33c5deb4be8cfd70ed2f938ba37fcec..99f0a5d8735e83c9fca7a57f8b4f2fafc40846ba 100644
(file)
--- a/
src/lib/exceptions.h
+++ b/
src/lib/exceptions.h
@@
-1,5
+1,5
@@
/*
/*
- Copyright (C) 2012-20
14
Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-20
20
Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
This file is part of DCP-o-matic.
@@
-25,6
+25,7
@@
#ifndef DCPOMATIC_EXCEPTIONS_H
#define DCPOMATIC_EXCEPTIONS_H
#ifndef DCPOMATIC_EXCEPTIONS_H
#define DCPOMATIC_EXCEPTIONS_H
+#include "compose.hpp"
extern "C" {
#include <libavutil/pixfmt.h>
}
extern "C" {
#include <libavutil/pixfmt.h>
}
@@
-39,7
+40,15
@@
extern "C" {
class DecodeError : public std::runtime_error
{
public:
class DecodeError : public std::runtime_error
{
public:
- DecodeError (std::string s)
+ explicit DecodeError (std::string s)
+ : std::runtime_error (s)
+ {}
+};
+
+class CryptoError : public std::runtime_error
+{
+public:
+ explicit CryptoError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-50,7
+59,7
@@
public:
class EncodeError : public std::runtime_error
{
public:
class EncodeError : public std::runtime_error
{
public:
- EncodeError (std::string s)
+
explicit
EncodeError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-65,7
+74,7
@@
public:
* @param f Name of the file that this exception concerns.
*/
FileError (std::string m, boost::filesystem::path f)
* @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)
{}
, _file (f)
{}
@@
-84,7
+93,7
@@
private:
class JoinError : public std::runtime_error
{
public:
class JoinError : public std::runtime_error
{
public:
- JoinError (std::string s)
+
explicit
JoinError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-95,11
+104,17
@@
public:
class OpenFileError : public FileError
{
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 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.
};
/** @class ReadFileError.
@@
-158,7
+173,7
@@
class MissingSettingError : public SettingError
{
public:
/** @param s Name of setting that was required */
{
public:
/** @param s Name of setting that was required */
- MissingSettingError (std::string s);
+
explicit
MissingSettingError (std::string s);
};
/** @class BadSettingError
};
/** @class BadSettingError
@@
-167,7
+182,9
@@
public:
class BadSettingError : public SettingError
{
public:
class BadSettingError : public SettingError
{
public:
- /** @param s Name of setting that is bad */
+ /** @param s Name of setting that is bad.
+ * @param m Error message.
+ */
BadSettingError (std::string s, std::string m)
: SettingError (s, m)
{}
BadSettingError (std::string s, std::string m)
: SettingError (s, m)
{}
@@
-179,7
+196,7
@@
public:
class NetworkError : public std::runtime_error
{
public:
class NetworkError : public std::runtime_error
{
public:
- NetworkError (std::string s)
+
explicit
NetworkError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-190,9
+207,20
@@
public:
class KDMError : public std::runtime_error
{
public:
class KDMError : public std::runtime_error
{
public:
- KDMError (std::string s)
- : std::runtime_error (s)
- {}
+ KDMError (std::string s, std::string d);
+ ~KDMError () throw() {}
+
+ std::string summary () const {
+ return _summary;
+ }
+
+ std::string detail () const {
+ return _detail;
+ }
+
+private:
+ std::string _summary;
+ std::string _detail;
};
/** @class PixelFormatError
};
/** @class PixelFormatError
@@
-216,7
+244,7
@@
public:
class DCPError : public std::runtime_error
{
public:
class DCPError : public std::runtime_error
{
public:
- DCPError (std::string s)
+
explicit
DCPError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-225,18
+253,27
@@
class InvalidSignerError : public std::runtime_error
{
public:
InvalidSignerError ();
{
public:
InvalidSignerError ();
+ explicit InvalidSignerError (std::string reason);
};
class ProgrammingError : public std::runtime_error
{
public:
};
class ProgrammingError : public std::runtime_error
{
public:
- ProgrammingError (std::string file, int line);
+ ProgrammingError (std::string file, int line
, std::string message = ""
);
};
class TextEncodingError : public std::runtime_error
{
public:
};
class TextEncodingError : public std::runtime_error
{
public:
- TextEncodingError (std::string s)
+ explicit TextEncodingError (std::string s)
+ : std::runtime_error (s)
+ {}
+};
+
+class MetadataError : public std::runtime_error
+{
+public:
+ explicit MetadataError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
@@
-244,9
+281,15
@@
public:
class OldFormatError : public std::runtime_error
{
public:
class OldFormatError : public std::runtime_error
{
public:
- OldFormatError (std::string s)
+
explicit
OldFormatError (std::string s)
: std::runtime_error (s)
{}
};
: std::runtime_error (s)
{}
};
+class KDMAsContentError : public std::runtime_error
+{
+public:
+ KDMAsContentError ();
+};
+
#endif
#endif