#ifndef ZMEXCEPTION_ICC #error "Exceptions/ZMexception.icc included without Exceptions/ZMexception.h" #endif // ---------------------------------------------------------------------- // // ZMexception.icc // // Constructor ZMexception // message() // count() // wasThrown() // handlerUsed() // severity() // location(line, filename) // fileName() // line() // // Revision History: // 970912 MF Initial version after separating .icc versus .cc // 970916 WEB Updated per code review // 970917 WEB Updated per code review 2 // 971211 WEB Updated per code walkthrough // 980421 WEB Moved name() and facility() from .icc to .cc // 980617 WEB Added namespace support // 990318 MF Modified intializer list orders to avoid warnings // // ---------------------------------------------------------------------- ZM_BEGIN_NAMESPACE( zmex ) /* namespace zmex { */ // ******************************** // // Member functions in base class // // ******************************** //********************** // Constructor //********************** inline ZMexception::ZMexception( const std::string & mesg , const ZMexSeverity howBad , int count ) : message_(mesg) , line_( 0 ) , sourceFileName_( "not ZMthrow'n as of yet" ) , mySeverity_( howBad == ZMexSEVERITYenumLAST ? _classInfo.severity() : howBad ) , myCount_( count ) , wasThrown_( false ) { } //********************** // Information accessors //********************** // message() //---------- inline std::string ZMexception::message() const { return message_; } // count() //-------- inline int ZMexception::count() const { return myCount_; } // wasThrown() //------------ inline bool ZMexception::wasThrown() const { return wasThrown_; } inline void ZMexception::wasThrown( bool b ) const { #ifdef DEFECT_NO_MUTABLE ZMexception * localThis = const_cast(this); localThis->wasThrown_ = b; #else wasThrown_ = b; #endif } //************** // handler names //************** // handlerUsed() //-------------- inline std::string ZMexception::handlerUsed() const { return handlerUsed_; } inline void ZMexception::handlerUsed( const std::string handlerName ) const { #ifdef DEFECT_NO_MUTABLE ZMexception * localThis = const_cast(this); localThis->handlerUsed_ = handlerName; #else handlerUsed_ = handlerName; #endif } //*********** // severity() //*********** inline ZMexSeverity ZMexception::severity() const { return mySeverity_; } //****************************** // location setter and accessors //****************************** // location(line, filename) // fileName() // line() //------------------------- inline void ZMexception::location( int line, const std::string filename ) const { #ifdef DEFECT_NO_MUTABLE ZMexception * localThis = const_cast(this); localThis->line_ = line; localThis->sourceFileName_ = filename; #else line_ = line; sourceFileName_ = filename; #endif } inline std::string ZMexception::fileName() const { return sourceFileName_; } inline int ZMexception::line() const { return line_; } inline bool ZMexception::OKtoLog() const { return classInfo().OKtoLog(); } ZM_END_NAMESPACE( zmex ) /* } // namespace zmex */