public function __construct($type)
 {
     // our list of args, in case someone wants to dig deeper into
     // what went wrong
     $data = $this->buildErrorData($type);
     // what do we want to tell our error handler?
     $msg = $this->buildErrorMessage($data['type'], $data['caller']);
     // all done
     parent::__construct(400, $msg, $data);
 }
 public function __construct($regex)
 {
     $msg = "invalid regex '{$regex}'";
     parent::__construct(400, $msg);
 }
 public function __construct($className)
 {
     $msg = "no such class '{$className}'";
     parent::__construct(400, $msg);
 }
 public function __construct($itemName)
 {
     $msg = "data '{$itemName}' is empty; not allowed!";
     parent::__construct(400, $msg);
 }