/** * Trata as mensagens de erro do \MongoCursorException * * @param \MongoCursorException $exception * @return string Mensagem tratada */ public static function tratarMongoCursorException($exception) { $continuar = true; $mensagemErroIndice = 'E11000 duplicate key error index'; $mensagem = ''; if (strpos($exception->getMessage(), $mensagemErroIndice) !== false) { if (strpos($exception->getMessage(), '$nome') !== false) { $continuar = false; $mensagem = 'O nome fornecido já está cadastrado.'; } elseif (strpos($exception->getMessage(), '$cnpj') !== false) { $continuar = false; $mensagem = 'O cnpj fornecido já está cadastrado.'; } elseif (strpos($exception->getMessage(), '$email') !== false) { $continuar = false; $mensagem = 'O email fornecido já está cadastrado.'; } } if ($continuar) { $mensagem = $exception->getMessage() . ' (' . $exception->getCode() . ')'; } return $mensagem; }
/** * MongoWriteConcernException constructor. * * @param string $message * @param int $code * @param Exception|null $previous * @param null $document * * @internal The $document parameter is not part of the ext-mongo API */ public function __construct($message = '', $code = 0, Exception $previous = null, $document = null) { parent::__construct($message, $code, $previous); $this->document = $document; }