Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

/home/pauldt/projects/IDEA/IDEA-ALL/IDEA-DEV/Core/PlanServer/Includes/PslErrors.hh

Go to the documentation of this file.
00001 // -*- Mode: C++ -*-
00002 //      CVS: $Id: PslErrors.hh,v 1.4 2005/11/08 18:32:42 rijsman Exp $
00003 //      Tag: $name$
00004 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00005 #ifndef PLANSERVER_ERROR_HANDLING_HEADER_
00006 #define PLANSERVER_ERROR_HANDLING_HEADER_
00007 
00008 #include <iostream>
00009 
00010 namespace IDEA
00011 {
00022   typedef enum
00023     {
00024       PslUnknown = 0,
00025       PslNoImpl,
00026       PslTypeUnknown,
00027       PslNotImplemented,
00028       PslSingletonNotSet,
00029       PslVariableInvalid,
00030       PslVariableTypeMismatch,
00031       PslVariableNotSingleton,
00032       PslVariableEmpty,
00033       PslStringEmpty,
00034       PslNullPointer,
00035       PslIllegalOperation,
00036       PslConvention,
00037       PslLoadModel,
00038       PslAlreadyExists,
00039       PslModelMismatch,
00040       PslBounderyCondition,
00041       PslInputError
00042     } PslErrorNumber;
00043 
00044 
00045   #ifdef ASSERT_ON
00046 
00047   #define PSL_ASSERT( expression, number ) \
00048        if( !( expression ) ) \
00049        { \
00050          std::cerr << "Error: PSL_ASSERT( " << #expression << ") failed." << std::endl; \
00051          std::cerr << "  File           : " << __FILE__ << std::endl;\
00052          std::cerr << "  Line           : " << __LINE__ << std::endl; \
00053          std::cerr << "  Error-number   : " << number << " (" << #number << ")" << std::endl; \
00054          throw "Error"; \
00055       }
00056 
00057   #define PSL_ASSERT_MSG( expression, number, msg ) \
00058        if( !( expression ) ) \
00059        { \
00060          std::cerr << "Error: PSL_ASSERT( " << #expression << ") failed." << std::endl; \
00061          std::cerr << "  File           : " << __FILE__ << std::endl;\
00062          std::cerr << "  Line           : " << __LINE__ << std::endl; \
00063          std::cerr << "  Error-number   : " << number << " (" << #number << ")" << std::endl; \
00064          std::cerr << "  Message        : " << msg << std::endl; \
00065          throw "Error";\
00066        }
00067   #else
00068 
00069   #define PSL_ASSERT( expression, number ) 
00070   #define PSL_ASSERT_MSG( expression, number, msg ) 
00071 
00072   #endif  
00073 
00074   #define PSL_ERROR( number ) \
00075        { \
00076          std::cerr << "Error:" << std::endl; \
00077          std::cerr << "  File           : " << __FILE__ << std::endl;\
00078          std::cerr << "  Line           : " << __LINE__ << std::endl; \
00079          std::cerr << "  Error-number   : " << number <<  " (" << #number << ")" << std::endl; \
00080          throw "Error";\
00081       }
00082 
00083   #define PSL_ERROR_MSG( number, msg ) \
00084        { \
00085          std::cerr << "Error:" << std::endl; \
00086          std::cerr << "  File           : " << __FILE__ << std::endl;\
00087          std::cerr << "  Line           : " << __LINE__ << std::endl; \
00088          std::cerr << "  Error-number   : " << number <<  " (" << #number << ")" << std::endl; \
00089          std::cerr << "  Message        : " << msg << std::endl; \
00090          throw "Error";\
00091        }
00092 
00097 }
00098 
00099 #endif //PLANSERVER_ERROR_HANDLING_HEADER_

Contact information
© IDEA
Generated on Fri Feb 3 17:09:41 2006 for IDEA.