// 
// except.h
// Exception class for SCOL libraries
// F.J. Alberti and J. Dumay
// 27/04/2001
//
// (This file belongs to the SDK)
//
// Modification history:
//
// FA   20/08/2001   Add constructor Exception::Exception(int32 code)
//
   
#ifndef _EXCEPT_H_
#define _EXCEPT_H_

#include "base.h" // future types.h
//#include "config.h"


//SCOL_BEGIN_NAMESPACE


class /* SCOLSDK_API */ Exception {
public:
  Exception(int32 code);
  Exception(int32 code, const char* fmt, ...);
  Exception(const Exception& exc);
  virtual ~Exception();
  
  Exception& operator =(const Exception& exc);
  int32 code() const;
  virtual const char* what() const;

private:
  int32 _code;    // exception code
  char* _what;    // exception text
  uint  _len;     // exception text length
};


//SCOL_END_NAMESPACE

#endif // except.h