CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
edm::convertException Namespace Reference

Functions

void badAllocToEDM ()
 
void charPtrToEDM (char const *c)
 
void stdToEDM (std::exception const &e)
 
void stringToEDM (std::string &s)
 
void unknownToEDM ()
 
template<typename F >
auto wrap (F iFunc) -> decltype(iFunc())
 

Function Documentation

void edm::convertException::badAllocToEDM ( )

Definition at line 8 of file ConvertException.cc.

References edm::errors::BadAlloc, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, and alignCSCRings::e.

Referenced by wrap().

8  {
9  std::cerr << "\nstd::bad_alloc exception" << std::endl;
11  e << "A std::bad_alloc exception was thrown.\n"
12  << "The job has probably exhausted the virtual memory available to the process.\n";
13  throw e;
14  }
void edm::convertException::charPtrToEDM ( char const *  c)

Definition at line 28 of file ConvertException.cc.

References edm::errors::BadExceptionType, c, and alignCSCRings::e.

Referenced by wrap().

28  {
30  e << "A const char* was thrown as an exception.\n" << c;
31  throw e;
32  }
const edm::EventSetup & c
void edm::convertException::stdToEDM ( std::exception const &  e)

Definition at line 16 of file ConvertException.cc.

References edm::errors::StdException, and cms::Exception::what().

Referenced by wrap().

16  {
18  ex << "A std::exception was thrown.\n" << e.what();
19  throw ex;
20  }
void edm::convertException::stringToEDM ( std::string &  s)

Definition at line 22 of file ConvertException.cc.

References edm::errors::BadExceptionType, alignCSCRings::e, and alignCSCRings::s.

Referenced by wrap().

22  {
24  e << "A std::string was thrown as an exception.\n" << s;
25  throw e;
26  }
void edm::convertException::unknownToEDM ( )

Definition at line 34 of file ConvertException.cc.

References alignCSCRings::e, and edm::errors::Unknown.

Referenced by wrap().

34  {
36  e << "An exception of unknown type was thrown.\n";
37  throw e;
38  }
template<typename F >
auto edm::convertException::wrap ( F  iFunc) -> decltype(iFunc())

Definition at line 19 of file ConvertException.h.

References badAllocToEDM(), charPtrToEDM(), CMS_SA_ALLOW, cppFunctionSkipper::exception, stdToEDM(), AlCaHLTBitMon_QueryRunRegistry::string, stringToEDM(), and unknownToEDM().

Referenced by edm::eventsetup::ComponentFactory< T >::addTo(), edm::EventProcessor::beginJob(), edm::Worker::beginJob(), edm::Worker::beginStream(), edm::ExceptionCollector::call(), edm::callWithTryCatchAndPrint(), edm::convert_handle(), edm::serviceregistry::ServicesManager::createServiceFor(), edm::WorkerManager::endJob(), edm::Worker::endJob(), edm::Worker::endStream(), edm::StreamSchedule::finishProcessOneEvent(), edm::eventsetup::EventSetupRecordImpl::getFromProxy(), edm::eventsetup::EventSetupRecordImpl::getFromProxyAfterPrefetch(), edm::Worker::handleExternalWorkException(), edm::makeInput(), edm::Maker::makeModule(), edm::GlobalSchedule::processOneGlobalAsync(), edm::StreamSchedule::processOneStreamAsync(), edm::Worker::runAcquire(), edm::Worker::runModule(), edm::eventsetup::Callback< T, TReturn, TRecord, TDecorator >::runProducerAsync(), edm::EventProcessor::runToCompletion(), edm::Worker::shouldRethrowException(), edm::eventsetup::validateEventSetupParameters(), and edm::validateLooper().

19  {
20  // Caught exception is rethrown
21  CMS_SA_ALLOW try { return iFunc(); } catch (cms::Exception&) {
22  throw;
23  } catch (std::bad_alloc&) {
25  } catch (std::exception& e) {
27  } catch (std::string& s) {
29  } catch (char const* c) {
31  } catch (...) {
33  }
34  //Never gets here
35  typedef decltype(iFunc()) ReturnType;
37  }
const edm::EventSetup & c
#define CMS_SA_ALLOW
std::map< DetId, double > ReturnType
void stdToEDM(std::exception const &e)
void charPtrToEDM(char const *c)
void stringToEDM(std::string &s)