CMS 3D CMS Logo

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

List of all members.

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 ()

Private Member Functions

void traceit () throw ()

Private Attributes

own_ptr< Genexceptionnext
std::string trace_

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().

{traceit();}
Genexception::Genexception ( const std::string &  mess) throw ()

Definition at line 62 of file CMSexception.cc.

                                                         : 
  BaseGenexception(mess) {
  traceit();
}
Genexception::~Genexception ( ) throw () [virtual]

Definition at line 68 of file CMSexception.cc.

{}

Member Function Documentation

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

Definition at line 70 of file CMSexception.cc.

References recoMuon::in.

                                                {
  if (in==0) return;
  // push in the stack...
  if (next.get()) (*next).add(in);
  else next = own_ptr<Genexception>(in);
}
virtual cms::Exception* Genexception::clone ( void  ) const [inline, virtual]

Reimplemented from BaseGenexception.

Definition at line 69 of file CMSexception.h.

References Genexception().

{ 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().

                                                              {
  if (next.get()) {
    (*next).dump(o,it);
    o << "Generated by: " ;
  }
  o << what() << "\n" << std::endl;
  if(it) o << trace()<< std::endl;
}
virtual void Genexception::rethrow ( void  ) [inline, virtual]

Reimplemented from BaseGenexception.

Definition at line 70 of file CMSexception.h.

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

Definition at line 64 of file CMSexception.h.

References trace_.

{ return trace_;}
void Genexception::traceit ( ) throw () [private]

Definition at line 90 of file CMSexception.cc.

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

Referenced by Genexception().

                                   {
  std::ostringstream oss;

  BackTrace a;
  a.trace(oss);
  trace_ = oss.str();
}

Member Data Documentation

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().