CMS 3D CMS Logo

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

◆ badAllocToEDM()

void edm::convertException::badAllocToEDM ( )

Definition at line 8 of file ConvertException.cc.

References edm::errors::BadAlloc, DMR_cfg::cerr, and MillePedeFileConverter_cfg::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  }

◆ charPtrToEDM()

void edm::convertException::charPtrToEDM ( char const *  c)

◆ stdToEDM()

void edm::convertException::stdToEDM ( std::exception const &  e)

Definition at line 16 of file ConvertException.cc.

References MillePedeFileConverter_cfg::e, and edm::errors::StdException.

Referenced by wrap().

16  {
18  ex << "A std::exception was thrown.\n" << e.what();
19  throw ex;
20  }

◆ stringToEDM()

void edm::convertException::stringToEDM ( std::string &  s)

Definition at line 22 of file ConvertException.cc.

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

Referenced by wrap().

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

◆ unknownToEDM()

void edm::convertException::unknownToEDM ( )

Definition at line 34 of file ConvertException.cc.

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

Referenced by wrap().

34  {
36  e << "An exception of unknown type was thrown.\n";
37  throw e;
38  }

◆ wrap()

template<typename F >
auto edm::convertException::wrap ( F  iFunc) -> decltype(iFunc())

Definition at line 19 of file ConvertException.h.

References badAllocToEDM(), HltBtagPostValidation_cff::c, charPtrToEDM(), CMS_SA_ALLOW, MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, alignCSCRings::s, stdToEDM(), AlCaHLTBitMon_QueryRunRegistry::string, stringToEDM(), and unknownToEDM().

Referenced by edm::eventsetup::ComponentFactory< T >::addTo(), edm::eventsetup::ComponentMaker< edm::eventsetup::LooperMakerTraits, TType >::addTo(), edm::EventProcessor::beginJob(), edm::Worker::beginJob(), edm::Worker::beginStream(), edm::ExceptionCollector::call(), edm::callWithTryCatchAndPrint(), edm::convert_handle(), edm::serviceregistry::ServicesManager::createServiceFor(), edm::detail::doTheOffset(), edm::WorkerManager::endJob(), edm::Worker::endJob(), edm::Worker::endStream(), edm::StreamSchedule::finishProcessOneEvent(), 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, TFunc, TReturn, TRecord, TDecorator >::runProducerAsync(), edm::EventProcessor::runToCompletion(), edm::SecondaryEventProvider::setupPileUpEvent(), and edm::Worker::shouldRethrowException().

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  }
#define CMS_SA_ALLOW
return((rh ^ lh) &mask)
std::map< DetId, double > ReturnType
void stdToEDM(std::exception const &e)
void charPtrToEDM(char const *c)
void stringToEDM(std::string &s)