21 using namespace fwlite;
28 NoProductErrorThrower(
const std::type_info& iType,
const char*iModule,
const char*iInstance,
const char*iProcess):
29 type_(&iType),
module_(iModule), instance_(iInstance), process_(iProcess) {}
31 void throwIt()
const override {
35 <<
"'\n productInstance='"<<((0!=instance_)?instance_:
"")<<
"'\n process='"<<((0!=process_)?process_:
"")<<
"'\n"
36 "but no data is available for this Event";
39 return new NoProductErrorThrower(*
this);
43 const std::type_info* type_;
45 const char* instance_;
51 NoBranchErrorThrower(
const std::type_info& iType,
const char*iModule,
const char*iInstance,
const char*iProcess):
52 type_(&iType),
module_(iModule), instance_(iInstance), process_(iProcess) {}
54 void throwIt()
const override {
58 <<
"'\n productInstance='"<<((0!=instance_)?instance_:
"")<<
"'\n process='"<<((0!=process_)?process_:
"")<<
"'";
62 return new NoBranchErrorThrower(*
this);
66 const std::type_info* type_;
68 const char* instance_;
73 void throwIt()
const override {
74 throw cms::Exception(
"UnsetHandle")<<
"The fwlite::Handle was never set";
78 return new UnsetErrorThrower(*
this);
128 return new UnsetErrorThrower();
133 return new NoBranchErrorThrower(iType,iModule,iInstance,iProcess);
138 return new NoProductErrorThrower(iType,iModule,iInstance,iProcess);
static const char module_[]
static ErrorThrower * unsetErrorThrower()
static ErrorThrower * errorThrowerBranchNotFoundException(const std::type_info &, const char *, const char *, const char *)
static ErrorThrower * errorThrowerProductNotFoundException(const std::type_info &, const char *, const char *, const char *)