CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes

edm::Exception Class Reference

#include <EDMException.h>

Inheritance diagram for edm::Exception:
cms::Exception

List of all members.

Public Types

typedef errors::ErrorCodes Code
typedef std::map< Code,
std::string > 
CodeMap

Public Member Functions

Code categoryCode () const
virtual Exceptionclone () const
 Exception (Code category, char const *message, cms::Exception const &another)
 Exception (Code category, std::string const &message)
 Exception (Code category, std::string const &message, cms::Exception const &another)
 Exception (Code category)
 Exception (Exception const &other)
 Exception (Code category, char const *message)
Exceptionoperator= (Exception const &other)
void swap (Exception &other)
virtual ~Exception () throw ()

Static Public Member Functions

static std::string codeToString (Code)
 -------------- implementation details ------------------
static void throwThis (Code category, char const *message0, int intVal, char const *message2="")
static void throwThis (Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")

Private Member Functions

virtual void rethrow ()
virtual int returnCode_ () const

Private Attributes

Code category_

Detailed Description

Definition at line 68 of file EDMException.h.


Member Typedef Documentation

Definition at line 70 of file EDMException.h.

typedef std::map<Code, std::string> edm::Exception::CodeMap

Definition at line 94 of file EDMException.h.


Constructor & Destructor Documentation

Exception::Exception ( Code  category) [explicit]

Definition at line 60 of file EDMException.cc.

Referenced by clone().

                                                :
    cms::Exception(codeToString(aCategory)),
    category_(aCategory) {
  }
Exception::Exception ( Code  category,
std::string const &  message 
)

Definition at line 65 of file EDMException.cc.

                                                                          :
    cms::Exception(codeToString(aCategory),message),
    category_(aCategory) {
  }
Exception::Exception ( Code  category,
char const *  message 
)

Definition at line 70 of file EDMException.cc.

                                                                     :
    cms::Exception(codeToString(aCategory), std::string(message)),
    category_(aCategory) {
  }
Exception::Exception ( Code  category,
std::string const &  message,
cms::Exception const &  another 
)

Definition at line 75 of file EDMException.cc.

                                                                                                       :
    cms::Exception(codeToString(aCategory),message,another),
    category_(aCategory) {
  }
Exception::Exception ( Code  category,
char const *  message,
cms::Exception const &  another 
)

Definition at line 80 of file EDMException.cc.

                                                                                                  :
    cms::Exception(codeToString(aCategory), std::string(message), another),
    category_(aCategory) {
  }
Exception::Exception ( Exception const &  other)

Definition at line 85 of file EDMException.cc.

                                            :
    cms::Exception(other),
    category_(other.category_) {
  }
Exception::~Exception ( ) throw () [virtual]

Reimplemented from cms::Exception.

Definition at line 90 of file EDMException.cc.

                                {
  }

Member Function Documentation

Code edm::Exception::categoryCode ( ) const [inline]
Exception * Exception::clone ( void  ) const [virtual]

Reimplemented from cms::Exception.

Definition at line 124 of file EDMException.cc.

References Exception().

                                    {
    return new Exception(*this);
  }
std::string Exception::codeToString ( Code  c) [static]

-------------- implementation details ------------------

Definition at line 52 of file EDMException.cc.

References edm::getCodeTable(), and i.

Referenced by edm::Path::handleWorkerFailure().

                                                      {
    extern void getCodeTable(CodeMap*&);
    CodeMap* trans;
    getCodeTable(trans);
    CodeMap::const_iterator i(trans->find(c));
    return i!=trans->end() ? i->second : std::string("UnknownCode");
  }
Exception & Exception::operator= ( Exception const &  other)

Definition at line 94 of file EDMException.cc.

References swap(), and groupFilesInBlocks::temp.

                                             {
    Exception temp(other);
    this->swap(temp);
    return *this;
  }
void Exception::rethrow ( void  ) [private, virtual]

Reimplemented from cms::Exception.

Definition at line 129 of file EDMException.cc.

                     {
    throw *this;
  }
int Exception::returnCode_ ( ) const [private, virtual]

Reimplemented from cms::Exception.

Definition at line 101 of file EDMException.cc.

References category_.

                               {
    return static_cast<int>(category_);
  }
void edm::Exception::swap ( Exception other) [inline]

Definition at line 84 of file EDMException.h.

References category_.

Referenced by operator=().

                                {
      std::swap(category_, other.category_);
    }
void Exception::throwThis ( Code  category,
char const *  message0 = "",
char const *  message1 = "",
char const *  message2 = "",
char const *  message3 = "",
char const *  message4 = "" 
) [static]

Definition at line 106 of file EDMException.cc.

References alignCSCRings::e.

Referenced by edm::lazydetail::_throw_range(), edm::dsrvdetail::_throw_range(), edm::detail::_throw_range(), edm::dslvdetail::_throw_range(), edm::eventsetup::ComponentFactory< T >::addTo(), edm::RefToBaseVector< T >::at(), edm::OwnVector< T, P >::back(), edm::RefToBase< T >::castTo(), edm::helpers::checkRef(), edm::reftobase::IndirectVectorHolder< T >::const_iterator_imp_specific::dc(), edm::reftobase::RefVectorHolder< REFV >::const_iterator_imp_specific::dc(), edm::reftobase::VectorHolder< T, REFV >::const_iterator_imp_specific::dc(), edm::detailsTrie::errorInsert(), edm::OwnVector< T, P >::fillView(), edm::serviceregistry::ServicesManager::get(), edm::ServiceRegistry::get(), edm::Handle< FWGenericObject >::Handle(), edm::Handle< GenericObject >::Handle(), edm::OneToOneGeneric< CKey, CVal, index >::insert(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), edm::OneToValue< BasicClusterCollection, float, unsigned short >::insert(), edm::OneToManyWithQualityGeneric< TrackingParticleCollection, edm::View< reco::Track >, double >::insert(), edm::ServiceRegistry::isAvailable(), edm::reftobase::RefProdKey::key(), edm::RefToBase< T >::key(), edm::makeRefTo(), edm::reftobase::InvalidRefHolderToRefVector< REF >::makeVectorBaseHolder(), edm::reftobase::InvalidHolderToVector< T, REF >::makeVectorBaseHolder(), edm::reftobase::RefProdRefHolderToRefVector::makeVectorBaseHolder(), edm::reftobase::RefProdHolderToVector< T >::makeVectorBaseHolder(), edm::reftobase::RefProdHolderToVector< T >::makeVectorHolder(), edm::reftobase::InvalidHolderToVector< T, REF >::makeVectorHolder(), edm::reftobase::RefProdRefHolderToRefVector::makeVectorHolder(), edm::reftobase::InvalidRefHolderToRefVector< REF >::makeVectorHolder(), edm::DoNotSetPtr< T >::operator()(), edm::DoNotFillView< T >::operator()(), edm::reftobase::RefVectorHolderBase::const_iterator::operator*(), edm::reftobase::RefVectorHolderBase::const_iterator::operator+(), edm::reftobase::RefVectorHolderBase::const_iterator::operator++(), edm::reftobase::RefVectorHolderBase::const_iterator::operator+=(), edm::reftobase::RefVectorHolderBase::const_iterator::operator-(), edm::reftobase::RefVectorHolderBase::const_iterator::operator--(), edm::reftobase::RefVectorHolderBase::const_iterator::operator-=(), edm::RefToBaseProd< T >::operator->(), edm::reftobase::RefVectorHolderBase::const_iterator::operator<(), edm::AssociationMap< edm::OneToManyWithQualityGeneric< TrackingParticleCollection, edm::View< reco::Track >, double > >::operator[](), edm::reftobase::RefVectorHolder< REFV >::push_back(), edm::reftobase::IndirectVectorHolder< T >::push_back(), edm::reftobase::VectorHolder< T, REFV >::push_back(), edm::detail::reallyfillPtrVector(), edm::reftobase::RefVectorHolderNoFillView< REFV >::reallyFillView(), edm::detail::reallySetPtr(), edm::ESProducer::registerProduct(), edm::helper::Filler< Association< C > >::throwAdd(), edm::helper::Filler< Association< C > >::throwFillSize(), edm::ValueMap< reco::MuonMETCorrectionData >::throwIndexBound(), edm::Association< C >::throwIndexMapBound(), edm::reftobase::BaseVectorHolder< T >::const_iterator::throwInvalidReference(), edm::ValueMap< reco::MuonMETCorrectionData >::throwNotExisting(), and edm::Association< C >::throwRefSet().

                                             {
    Exception e(aCategory, std::string(message0));
    e << message1 << message2 << message3 << message4;
    throw e;
  }
void Exception::throwThis ( Code  category,
char const *  message0,
int  intVal,
char const *  message2 = "" 
) [static]

Definition at line 118 of file EDMException.cc.

References alignCSCRings::e.

                                                                                                         {
    Exception e(aCategory, std::string(message0));
    e << intVal << message1;
    throw e;
  }

Member Data Documentation

Reimplemented from cms::Exception.

Definition at line 111 of file EDMException.h.

Referenced by categoryCode(), returnCode_(), and swap().