#ifndef morpheo_ErrorMorpheo
#define morpheo_ErrorMorpheo

/*
 * $Id$
 *
 * [ Description ]
 * 
 */

#include <iostream>
#include <exception>

using namespace std;

namespace morpheo              {

  class ErrorMorpheo : public exception 
  {
    // -----[ fields ]----------------------------------------------------
  private : string _msg;
    
    // -----[ methods ]---------------------------------------------------
  public  :             ErrorMorpheo  ()           throw() { _msg = "Exception detected ...";}
  public  :             ErrorMorpheo  (string msg) throw() { _msg = msg;}
  public  :             ~ErrorMorpheo (void)       throw() {}
  public  : const char* what          ()    const  throw() { return ( _msg.c_str() );}

  };

  class TestMorpheo : public exception 
  {
    // -----[ fields ]----------------------------------------------------
  private : string _msg;
    
    // -----[ methods ]---------------------------------------------------
  public  :             TestMorpheo   ()           throw() { _msg = "Test error ...";}
  public  :             TestMorpheo   (string msg) throw() { _msg = msg;}
  public  :             ~TestMorpheo  (void)       throw() {}
  public  : const char* what          ()    const  throw() { return ( _msg.c_str() );}
  };

}; // end namespace morpheo              

#endif
