/** * Método que executa querys * @param string $query * @return boolean Retorna TRUE em caso de sucesso ou FALSE em caso de falha */ public function queryExec($query) { try { $prepare = $this->getDb()->prepare($query); return $prepare->execute(); } catch (PDOException $exc) { TratarErros::exibirErros($exc); throw $exc; } }
/** * Método que reporta as exceções geradas. Em caso de modo de desenvolvimento, exibe na tela. * Em caso de modo de produção, envia por e-mail. * @param Exception $exc A exceção a ser tratada */ protected function reportarException(Exception $exc) { if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': TratarErros::exibeErros($exc->getCode(), $exc->getMessage(), $exc->getFile(), $exc->getLine()); break; case 'testing': case 'production': TratarErros::reportarErros($exc->getCode(), $exc->getMessage(), $exc->getFile(), $exc->getLine()); break; default: break; } } }
/** * Método auxiliar usado na centralização das exceções * * @param Exception $exc A exceção a ser tratada */ protected function close(Exception $exc) { //A exibição de erros esta ativa, exibe o erro e para a execução if ((bool) ini_get("display_errors")) { die(TratarErros::exibeException($exc)); } //Exibe a mensagem de acordo com a exceção if ($exc instanceof SqlException) { echo Javascript::alert("Ocorreu um erro interno. " . "Tente novamente mais tarde"); } elseif ($exc instanceof SqlException) { echo Javascript::alert("Ocorreu um erro interno. " . "Por favor, tente novamente mais tarde"); } else { echo Javascript::alert($exc->getMessage()); } //Definindo se a janela será fechada o irá voltar if ($this->data["shadowbox"]) { echo Javascript::shadowboxClose(); die(Javascript::close()); } else { die(Javascript::history_back()); } }