CernVM-FS
2.12.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
43
virtual
~EPublish
() throw();
44
45
EFailures
failure
()
const
{
return
failure_
; }
46
std::string
msg
()
const
{
return
msg_holder_
.what(); }
47
48
private
:
49
EFailures
failure_
;
50
// We cannot use an std::string because it would make the EPublish copy
51
// constructor exception unsafe.
52
std::runtime_error
msg_holder_
;
53
57
static
const
unsigned
kMaxBacktrace
= 64;
58
static
std::string
GetStacktrace
();
59
};
60
61
}
// namespace publish
62
63
#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:49
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:46
publish::EPublish::msg_holder_
std::runtime_error msg_holder_
Definition:
except.h:52
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:45
publish::EPublish::GetStacktrace
static std::string GetStacktrace()
Definition:
except.cc:13
publish::EPublish::kMaxBacktrace
static const unsigned kMaxBacktrace
Definition:
except.h:57
publish::EPublish::kFailLeaseBusy
Definition:
except.h:27
cvmfs
cvmfs
publish
except.h
Generated on Sun Mar 9 2025 01:18:13 for CernVM-FS by
1.8.5