CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ExceptionHelpers.cc
Go to the documentation of this file.
2 
7 
8 #include <cstring>
9 
10 namespace edm {
11 
12  void
13  addContextAndPrintException(char const* context,
14  cms::Exception& ex,
15  bool disablePrint) {
16  if (context != 0 && strlen(context) != 0U) {
17  ex.addContext(context);
18  }
19  if (!disablePrint) {
20  Service<JobReport> jobReportSvc;
21  if (jobReportSvc.isAvailable()) {
22  JobReport *jobRep = jobReportSvc.operator->();
23  edm::printCmsException(ex, jobRep, ex.returnCode());
24  }
25  else {
27  }
28  ex.setAlreadyPrinted(true);
29  }
30  }
31 }
void setAlreadyPrinted(bool value)
Definition: Exception.cc:255
void addContextAndPrintException(char const *context, cms::Exception &ex, bool disablePrint)
bool isAvailable() const
Definition: Service.h:47
void addContext(std::string const &context)
Definition: Exception.cc:227
int returnCode() const
Definition: Exception.cc:199
void printCmsException(cms::Exception &e, edm::JobReport *jobRep=0, int rc=-1)