*/
class API_Exception extends Exception
{
+ const UNAUTHORIZED = 'unauthorized';
+ const NOT_IMPLEMENTED = 'not-found';
+
private $extraParams = array();
+
+ /**
+ * @param string $message
+ * @param int $error_code
+ * @param array $extraParams
+ * @param Exception $previous
+ */
public function __construct($message, $error_code = 0, $extraParams = array(),Exception $previous = null) {
if (is_numeric ($error_code)) // using int for error code "old way")
$code = $error_code;
}
// custom string representation of object
+ /**
+ * @return string
+ */
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}
+ /**
+ * @return array
+ */
public function getExtraParams() {
return $this->extraParams;
}
+ /**
+ * @return array
+ */
public function getErrorCodes(){
return array(
2000 => '$params was not an array',
2001 => 'Invalid Value for Date field',
- 2100 => 'String value is longer than permitted length'
+ 2100 => 'String value is longer than permitted length',
+ self::UNAUTHORIZED => 'Unauthorized',
+ self::NOT_IMPLEMENTED => 'Entity or method is not implemented',
);
}
}
class CiviCRM_API3_Exception extends Exception
{
private $extraParams = array();
+
+ /**
+ * @param string $message
+ * @param int $error_code
+ * @param array $extraParams
+ * @param Exception $previous
+ */
public function __construct($message, $error_code, $extraParams = array(),Exception $previous = null) {
parent::__construct(ts($message));
$this->extraParams = $extraParams + array('error_code' => $error_code);
}
// custom string representation of object
+ /**
+ * @return string
+ */
public function __toString() {
return __CLASS__ . ": [{$this->extraParams['error_code']}: {$this->message}\n";
}
public function getErrorCode() {
return $this->extraParams['error_code'];
}
+
+ /**
+ * @return array
+ */
public function getExtraParams() {
return $this->extraParams;
}