Index: trunk/SophyaLib/BaseTools/pexceptions.h
===================================================================
--- trunk/SophyaLib/BaseTools/pexceptions.h	(revision 1607)
+++ trunk/SophyaLib/BaseTools/pexceptions.h	(revision 2505)
@@ -28,4 +28,6 @@
     //! Constructor with the message and error-id (optional) specification
     explicit PThrowable(const string& m, int ident=0) 
+      : msg(m), id(ident) {}
+    explicit PThrowable(const char* m, int ident=0) 
       : msg(m), id(ident) {}
     virtual ~PThrowable() { }
@@ -48,4 +50,5 @@
   public:
     explicit PError(const string& m, int id=0) : PThrowable(m,id) {}
+    explicit PError(const char* m, int id=0) : PThrowable(m,id) {}
   };
   
@@ -69,4 +72,5 @@
   public:
     explicit AllocationError(const string& m, int id=0) : PError(m,id) {}
+    explicit AllocationError(const char* m, int id=0) : PError(m,id) {}
   };
   
@@ -76,4 +80,5 @@
   public:
     explicit NullPtrError(const string& m, int id=0) : PError(m,id) {}
+    explicit NullPtrError(const char* m, int id=0) : PError(m,id) {}
   };
   
@@ -84,4 +89,5 @@
   public:
     explicit ForbiddenError(const string& m, int id=0) : PError(m,id) {}
+    explicit ForbiddenError(const char* m, int id=0) : PError(m,id) {}
   };
 
@@ -92,4 +98,5 @@
   public:
     explicit AssertionFailedError(const string& m, int id=0) : PError(m,id) {}
+    explicit AssertionFailedError(const char* m, int id=0) : PError(m,id) {}
   };
   
@@ -114,4 +121,5 @@
   public:
     explicit IOExc(const string& m, int id=0) : PException(m,id) {}
+    explicit IOExc(const char* m, int id=0) : PException(m,id) {}
   };
 
@@ -121,4 +129,5 @@
   public:
     explicit FileFormatExc(const string& m, int id=0) : IOExc(m,id) {}
+    explicit FileFormatExc(const char* m, int id=0) : IOExc(m,id) {}
   };
 
@@ -128,4 +137,5 @@
   public:
     explicit SzMismatchError(const string& m, int id=0) : PException(m,id) {}
+    explicit SzMismatchError(const char* m, int id=0) : PException(m,id) {}
   };
   
@@ -135,4 +145,5 @@
   public:
     explicit RangeCheckError(const string& m, int id=0) : PException(m,id) {}
+    explicit RangeCheckError(const char* m, int id=0) : PException(m,id) {}
   };
   
@@ -142,4 +153,5 @@
   public:
     explicit ParmError(const string& m, int id=0) : PException(m,id) {}
+    explicit ParmError(const char* m, int id=0) : PException(m,id) {}
   };
 
@@ -149,4 +161,5 @@
   public:
     explicit NotAvailableOperation(const string& m, int id=0) : PException(m,id) {}
+    explicit NotAvailableOperation(const char* m, int id=0) : PException(m,id) {}
   };
 
@@ -156,4 +169,5 @@
   public:
     explicit TypeMismatchExc(const string& m, int id=0) : PException(m,id) {}
+    explicit TypeMismatchExc(const char* m, int id=0) : PException(m,id) {}
   };
 
@@ -163,4 +177,5 @@
   public:
     explicit MathExc(const string& m, int id=0) : PException(m,id) {}
+    explicit MathExc(const char* m, int id=0) : PException(m,id) {}
   };
   
@@ -170,4 +185,5 @@
   public:
     explicit SingMatrixExc(const string& m, int id=0) : MathExc(m,id) {}
+    explicit SingMatrixExc(const char* m, int id=0) : MathExc(m,id) {}
   };
 
@@ -177,4 +193,5 @@
   public:
     explicit DuplicateIdExc(const string& m, int id=0) : PException(m,id) {}
+    explicit DuplicateIdExc(const char* m, int id=0) : PException(m,id) {}
   };
   
@@ -184,4 +201,5 @@
   public:
     explicit NotFoundExc(const string& m, int id=0) : PException(m,id) {}
+    explicit NotFoundExc(const char* m, int id=0) : PException(m,id) {}
   };
   
@@ -191,5 +209,6 @@
   public:
     explicit CaughtSignalExc(const string& m, int id=0) : PException(m,id) {}
-  };
+    explicit CaughtSignalExc(const char* m, int id=0) : PException(m,id) {}
+ };
     
 } // namespace SOPHYA
@@ -209,9 +228,4 @@
 // Compatibility with EROS-PEIDA exceptions
 
-#define EXC_ABORT_NEG(_x)
-#define EXC_ABORT_ALL(_x)
-
-
-#define END_CONSTRUCTOR
 
 #define TRY try
@@ -226,16 +240,4 @@
 #define THROW_SAME throw;
 
-#define RETURN(x) return(x)
-#define RETURN_ return
-
-#define rangeCheckErr    RangeCheckError("")
-#define typeMismatchErr  TypeMismatchExc("")
-#define allocationErr    AllocationError("")
-#define parmErr          ParmError("")
-#define inconsistentErr  ParmError("")
-#define sizeMismatchErr  SzMismatchError("")
-#define fileErr          IOExc("")
-#define nullPtrErr       NullPtrError("")
-#define singMatxErr      SingMatrixExc("")
 
 #define DBASSERT(_x_) ASSERT(_x_)
