CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
Genexception Class Reference

#include <CMSexception.h>

Inheritance diagram for Genexception:
BaseGenexception CMSexception cms::Exception Capri::Error GenTerminate Capri::Fatal Capri::Severe Capri::Warning

Public Member Functions

void add (Genexception *in) throw ()
 
virtual cms::Exceptionclone (void) const
 
void dump (std::ostream &o, bool it=false) const throw ()
 
 Genexception () throw ()
 
 Genexception (const std::string &mess) throw ()
 
virtual void rethrow (void)
 
const std::string & trace () const throw ()
 
virtual ~Genexception () throw ()
 
- Public Member Functions inherited from BaseGenexception
 BaseGenexception () throw ()
 
 BaseGenexception (const std::string &mess) throw ()
 
virtual const char * what () const throw ()
 
virtual ~BaseGenexception () throw ()
 
- Public Member Functions inherited from CMSexception
 CMSexception () throw ()
 
virtual std::string explainSelf (void) const
 
virtual ~CMSexception () throw ()
 
- Public Member Functions inherited from cms::Exception
void append (Exception const &another)
 
void append (std::string const &more_information)
 
void append (char const *more_information)
 
std::string category () const
 
 Exception (Category const &category)
 
 Exception (Category const &category, std::string const &message)
 
 Exception (Category const &category, std::string const &message, Exception const &another)
 
 Exception (Exception const &other)
 
CategoryList const & history () const
 
void raise ()
 
std::string rootCause () const
 
virtual ~Exception () throw ()
 

Private Member Functions

void traceit () throw ()
 

Private Attributes

own_ptr< Genexceptionnext
 
std::string trace_
 

Additional Inherited Members

- Public Types inherited from cms::Exception
typedef std::string Category
 
typedef std::list< CategoryCategoryList
 

Detailed Description

cms generic exception

Definition at line 59 of file CMSexception.h.

Constructor & Destructor Documentation

Genexception::Genexception ( )
throw (
)

Definition at line 59 of file CMSexception.cc.

References traceit().

Referenced by clone().

59 {traceit();}
void traceit()
Definition: CMSexception.cc:90
Genexception::Genexception ( const std::string &  mess)
throw (
)

Definition at line 62 of file CMSexception.cc.

62  :
63  BaseGenexception(mess) {
64  traceit();
65 }
void traceit()
Definition: CMSexception.cc:90
Genexception::~Genexception ( )
throw (
)
virtual

Definition at line 68 of file CMSexception.cc.

68 {}

Member Function Documentation

void Genexception::add ( Genexception in)
throw (
)

Definition at line 70 of file CMSexception.cc.

References recoMuon::in.

70  {
71  if (in==0) return;
72  // push in the stack...
73  if (next.get()) (*next).add(in);
75 }
X * get() const
Definition: own_ptr.h:83
own_ptr< Genexception > next
Definition: CMSexception.h:78
virtual cms::Exception* Genexception::clone ( void  ) const
inlinevirtual

Reimplemented from BaseGenexception.

Definition at line 69 of file CMSexception.h.

References Genexception().

69 { return new Genexception(*this);}
void Genexception::dump ( std::ostream &  o,
bool  it = false 
) const
throw (
)

Definition at line 78 of file CMSexception.cc.

References connectstrParser::o, and GsfMatrixTools::trace().

Referenced by UncatchedException::dump().

78  {
79  if (next.get()) {
80  (*next).dump(o,it);
81  o << "Generated by: " ;
82  }
83  o << what() << "\n" << std::endl;
84  if(it) o << trace()<< std::endl;
85 }
X * get() const
Definition: own_ptr.h:83
const std::string & trace() const
Definition: CMSexception.h:64
virtual const char * what() const
Definition: CMSexception.h:44
own_ptr< Genexception > next
Definition: CMSexception.h:78
virtual void Genexception::rethrow ( void  )
inlinevirtual

Reimplemented from BaseGenexception.

Definition at line 70 of file CMSexception.h.

70 { throw *this;}
const std::string& Genexception::trace ( ) const
throw (
)
inline

Definition at line 64 of file CMSexception.h.

References trace_.

64 { return trace_;}
std::string trace_
Definition: CMSexception.h:76
void Genexception::traceit ( )
throw (
)
private

Definition at line 90 of file CMSexception.cc.

References a, BackTrace::trace(), and trace_.

Referenced by Genexception().

90  {
91  std::ostringstream oss;
92 
93  BackTrace a;
94  a.trace(oss);
95  trace_ = oss.str();
96 }
std::string trace_
Definition: CMSexception.h:76
void trace() const
Definition: BackTrace.cc:8
double a
Definition: hdecay.h:121

Member Data Documentation

own_ptr<Genexception> Genexception::next
private

Definition at line 78 of file CMSexception.h.

std::string Genexception::trace_
private

Definition at line 76 of file CMSexception.h.

Referenced by trace(), and traceit().