CernVM-FS
2.13.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
except.h
Go to the documentation of this file.
1
5
#ifndef CVMFS_PUBLISH_EXCEPT_H_
6
#define CVMFS_PUBLISH_EXCEPT_H_
7
8
#include <stdexcept>
9
#include <string>
10
11
namespace
publish {
12
13
class
EPublish
:
public
std::runtime_error {
14
public
:
18
enum
EFailures
{
19
kFailUnspecified
= 0,
20
kFailInput
,
// Invalid input
21
kFailInvocation
,
// Invalid command line options
22
kFailPermission
,
// Not owner of the repository
23
kFailTransactionState
,
// The txn was expected to be in the other state
24
kFailGatewayKey
,
// cannot access the gateway secret key
25
kFailLeaseHttp
,
// cannot connect to the gateway HTTP endpoint
26
kFailLeaseBody
,
// corrupted session token
27
kFailLeaseBusy
,
// another active lease blocks the path
28
kFailLeaseNoEntry
,
// the lease path does not exist
29
kFailLeaseNoDir
,
// the lease path is no a directory
30
kFailRepositoryNotFound
,
// the repository was not found on the machine
31
kFailRepositoryType
,
// the stratum type (0, 1) does not match
32
kFailLayoutRevision
,
// unsupported layout revision, migrate required
33
kFailWhitelistExpired
,
//
34
kFailMissingDependency
,
// a program or service was not found
35
};
36
37
explicit
EPublish
(
const
std::string &what,
EFailures
f =
kFailUnspecified
)
38
: std::runtime_error(what +
"\n\nStacktrace:\n"
+
GetStacktrace
())
39
,
failure_
(f)
40
,
msg_holder_
(what) { }
41
42
virtual
~EPublish
() throw();
43
44
EFailures
failure
()
const
{
return
failure_
; }
45
std::string
msg
()
const
{
return
msg_holder_
.what(); }
46
47
private
:
48
EFailures
failure_
;
49
// We cannot use an std::string because it would make the EPublish copy
50
// constructor exception unsafe.
51
std::runtime_error
msg_holder_
;
52
56
static
const
unsigned
kMaxBacktrace
= 64;
57
static
std::string
GetStacktrace
();
58
};
59
60
}
// namespace publish
61
62
#endif // CVMFS_PUBLISH_EXCEPT_H_
publish::EPublish::kFailTransactionState
Definition:
except.h:23
publish::EPublish::kFailLeaseNoDir
Definition:
except.h:29
publish::EPublish::failure_
EFailures failure_
Definition:
except.h:48
publish::EPublish::kFailGatewayKey
Definition:
except.h:24
publish::EPublish::kFailRepositoryType
Definition:
except.h:31
publish::EPublish::kFailLeaseHttp
Definition:
except.h:25
publish::EPublish::EPublish
EPublish(const std::string &what, EFailures f=kFailUnspecified)
Definition:
except.h:37
publish::EPublish::kFailWhitelistExpired
Definition:
except.h:33
publish::EPublish::msg
std::string msg() const
Definition:
except.h:45
publish::EPublish::msg_holder_
std::runtime_error msg_holder_
Definition:
except.h:51
publish::EPublish::kFailMissingDependency
Definition:
except.h:34
publish::EPublish::kFailLayoutRevision
Definition:
except.h:32
publish::EPublish::kFailLeaseNoEntry
Definition:
except.h:28
publish::EPublish::kFailInput
Definition:
except.h:20
publish::EPublish
Definition:
except.h:13
publish::EPublish::~EPublish
virtual ~EPublish()
Definition:
except.cc:11
publish::EPublish::EFailures
EFailures
Definition:
except.h:18
publish::EPublish::kFailRepositoryNotFound
Definition:
except.h:30
publish::EPublish::kFailPermission
Definition:
except.h:22
publish::EPublish::kFailInvocation
Definition:
except.h:21
publish::EPublish::kFailUnspecified
Definition:
except.h:19
publish::EPublish::kFailLeaseBody
Definition:
except.h:26
publish::EPublish::failure
EFailures failure() const
Definition:
except.h:44
publish::EPublish::GetStacktrace
static std::string GetStacktrace()
Definition:
except.cc:13
publish::EPublish::kMaxBacktrace
static const unsigned kMaxBacktrace
Definition:
except.h:56
publish::EPublish::kFailLeaseBusy
Definition:
except.h:27
cvmfs
cvmfs
publish
except.h
Generated on Sun Jun 15 2025 02:21:13 for CernVM-FS by
1.8.5