Exceptions no PHP5
Exceptions são utilizadas para controlar o fluxo do código de maneira simples. Apesar do nome exceção, não significa que seja um controle de erro absurdo ou fatal e muito menos que o usuário do sistema saiba que ocorreu. Exception não é apenas um controle de erro, isso é apenas uma das funcionalidades. O principal é o controle de fluxo, inclusive, com código muito limpo e orientado.
Vamos compreender o assunto olhando uma maneira antiga:
Esse tipo de tratamento é bem comum na programação sem exceptions em casos que é necessário retornar vários tipos de erros.
Vamos compreender o assunto olhando uma maneira antiga:
<?php
/**
* Retorna o usuario para login
* @param string $user login do usuario
* @param string $password senha do usuario
* @return User
*/
function login($user, $password)
{
// login valido
if ($user == 'usuario') {
// senha valida
if ($password == 'senha') {
return new User($user);
} else {
// senha invalida
return -2;
}
} else {
// login invalido
return -1;
}
}
// usando a funcao acima
$user = login('eu', 'senha');
// tratando o erro
if (!is_object($user)) {
switch ($user) {
case -1:
print 'usuario invalido';
break;
case -2:
print 'senha invalida';
break;
}
} else {
// faz alguma coisa
}
?>
Esse tipo de tratamento é bem comum na programação sem exceptions em casos que é necessário retornar vários tipos de erros.
parabéns pelo artigo!!
muito bom e bem explicado...
issu vai ser muito útil para o meu sistema de log de erro
:p
;)
muito bom e bem explicado...
issu vai ser muito útil para o meu sistema de log de erro
:p
;)
17/08/2005 7:19am
(~20 anos atrás)
Por exemplo, o exemplo da página 5 retornou:
Fatal error: Call to undefined function NotExists() in exception.php on line 33
Ah sim, na linha 33: throw NotExists($path);
[]s