function AbstractError(msg, code, constr) {
  Error.captureStackTrace(this, constr || this);
  this.message = msg || "Error";
  this.code = code || "EUNKNOWN";
}
function AbstractError(msg, code, constr) {
  Error.captureStackTrace(this, constr || this);
  this.message = msg || "Error";
  this.code = code || "EUNKNOWN";
}
function AbstractError ( msg , code , constr ) { Error . captureStackTrace ( this , constr || this ) ; this . message = msg || "Error" ; this . code = code || "EUNKNOWN" ; }
*****************************************************************************

EXCEPTIONS
*****************************************************************************