22 using namespace fwlite;
29 NoProductErrorThrower(
const std::type_info& iType,
const char*iModule,
const char*iInstance,
const char*iProcess):
30 type_(&iType),
module_(iModule), instance_(iInstance), process_(iProcess) {}
32 void throwIt()
const {
36 <<
"'\n productInstance='"<<((0!=instance_)?instance_:
"")<<
"'\n process='"<<((0!=process_)?process_:
"")<<
"'\n"
37 "but no data is available for this Event";
40 return new NoProductErrorThrower(*
this);
44 const std::type_info* type_;
46 const char* instance_;
52 NoBranchErrorThrower(
const std::type_info& iType,
const char*iModule,
const char*iInstance,
const char*iProcess):
53 type_(&iType),
module_(iModule), instance_(iInstance), process_(iProcess) {}
55 void throwIt()
const {
59 <<
"'\n productInstance='"<<((0!=instance_)?instance_:
"")<<
"'\n process='"<<((0!=process_)?process_:
"")<<
"'";
63 return new NoBranchErrorThrower(*
this);
67 const std::type_info* type_;
69 const char* instance_;
74 void throwIt()
const {
75 throw cms::Exception(
"UnsetHandle")<<
"The fwlite::Handle was never set";
79 return new UnsetErrorThrower(*
this);
129 return new UnsetErrorThrower();
134 return new NoBranchErrorThrower(iType,iModule,iInstance,iProcess);
139 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 *)
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)