Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite. Se eu fizer algo como
<?php
class Banco {
protected $conexao;
private $servidor;
private $usuario;
private $senha;
public function __construct($sql) {
$this->sql = $sql;
}
public function conectar() {
$conexao = mysql_connect($this->servidor, $this->usuario, $this->senha);
if(!$conexao)
throw new Exception("Erro ao tentar conectar ao banco de dados."); // REPAREM QUE EU LANCEI A EXCESSÃO AQUI!
}
}
?>
Toda vez que eu utilizar o método conectar(), precisarei utilizar try {} catch($e) para pegar o erro? Essa é a forma certa de usar exceções e orientação a objetos? Obrigado.
Vai depender da sua programação. De modo simples, você pode criar um metódo apenas para tratamento de erro dentro da propria classe de abstração do banco, a mesma poderia ser utilizada para qualquer tratamento de erro da classe (erro de sql, conexão, falta de parametros, etc).
>
Resolva com menos linha amigo
Caso queira mais segura da uma olhada no laboratorio tem uns exemplos la do Moderador Alaerte
<?php
// Conexão de Base de Dados
$nome_host="mysql.site.com.br";
$usuario="xxx";
$senha="xxx";
$base_dados="xxxxx";$conexao = mysql_connect($nome_host,$usuario,$senha) or die (mysql_error());
mysql_select_db($base_dados,$conexao);
?>
:blink: :huh: , ??
Para pegar a mensagem da excessão gerada na classe é so com o bloco try{}catch{} sim ...
Douglas, nao entendi muito bem o que você disse, talvez seja pq eu nao ainda nao domine esse assunto a fundo, mas no caso o unico jeito dele pegar a excessão gerada e pelo bloco try{}catch{}, independentemente de como e onde ele gere as execessões....
Resolva com menos linha amigo
Caso queira mais segura da uma olhada no laboratorio tem uns exemplos la do Moderador Alaerte
<?php
// Conexão de Base de Dados
//componentes de conexao ao MySQL