CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ExceptionMessages.cc
Go to the documentation of this file.
5 #include <string>
6 #include <sstream>
7 
8 namespace edm {
9  void
10  printCmsException(cms::Exception& e, char const* prog, edm::JobReport * jobRep, int rc) try {
11  std::string programName(prog ? prog : "program");
12  std::string shortDesc("CMSException");
13  std::ostringstream longDesc;
14  longDesc << "cms::Exception caught in "
15  << programName
16  << "\n"
17  << e.explainSelf();
18  edm::LogSystem(shortDesc) << longDesc.str() << "\n";
19  if(jobRep) jobRep->reportError(shortDesc, longDesc.str(), rc);
20  } catch(...) {
21  }
22 
23  void printBadAllocException(char const *prog, edm::JobReport * jobRep, int rc) try {
24  std::string programName(prog ? prog : "program");
25  std::string shortDesc("std::bad_allocException");
26  std::ostringstream longDesc;
27  longDesc << "std::bad_alloc exception caught in "
28  << programName
29  << "\n"
30  << "The job has probably exhausted the virtual memory available to the process.\n";
31  edm::LogSystem(shortDesc) << longDesc.str() << "\n";
32  if(jobRep) jobRep->reportError(shortDesc, longDesc.str(), rc);
33  } catch(...) {
34  }
35 
36  void printStdException(std::exception& e, char const*prog, edm::JobReport * jobRep, int rc) try {
37  std::string programName(prog ? prog : "program");
38  std::string shortDesc("StdLibException");
39  std::ostringstream longDesc;
40  longDesc << "Standard library exception caught in "
41  << programName
42  << "\n"
43  << e.what();
44  edm::LogSystem(shortDesc) << longDesc.str() << "\n";
45  if (jobRep) jobRep->reportError(shortDesc, longDesc.str(), rc);
46  } catch(...) {
47  }
48 
49  void printUnknownException(char const *prog, edm::JobReport * jobRep, int rc) try {
50  std::string programName(prog ? prog : "program");
51  std::string shortDesc("UnknownException");
52  std::ostringstream longDesc;
53  longDesc << "Unknown exception caught in "
54  << programName
55  << "\n";
56  edm::LogSystem(shortDesc) << longDesc.str() << "\n";
57  if (jobRep) jobRep->reportError(shortDesc, longDesc.str(), rc);
58  } catch(...) {
59  }
60 }
void printStdException(std::exception &e, char const *prog=0, edm::JobReport *jobRep=0, int rc=-1)
void printCmsException(cms::Exception &e, char const *prog=0, edm::JobReport *jobRep=0, int rc=-1)
virtual std::string explainSelf() const
Definition: Exception.cc:56
void printBadAllocException(char const *prog=0, edm::JobReport *jobRep=0, int rc=-1)
void reportError(std::string const &shortDesc, std::string const &longDesc)
Definition: JobReport.cc:639
void printUnknownException(char const *prog=0, edm::JobReport *jobRep=0, int rc=-1)