PHP - Tratamento de Erros

Post on 17-Jul-2015

2.914 views 4 download

Transcript of PHP - Tratamento de Erros

TRATAMENTO DE ERROS COM PHP

Bruno Quaresma - SENAI PE

Por que tratar os erros?

• Para podermos saber quais os erros que aconteceram e indicar para o sistema quais ações ele deve tomar;

Bruno Quaresma - SENAI PE

Forma errada de tratar um erro

Bruno Quaresma - SENAI PE

E como tratar?

• Através do comando:

– throw new Exception(‘Mensagem de erro’);

Bruno Quaresma - SENAI PE

Forma certa de tratar um erro

Bruno Quaresma - SENAI PE

Sim mas... Como capturar esse erro?

• Utilizando o try e catch();

Bruno Quaresma - SENAI PE

Entendendo um pouco melhor

• O try, ele vai testar um bloco de código e caso seja lançada alguma exceção durante a execução desse código o catch() irá tratá-la;

• Assim que uma exceção é lançada dentro do try o php irá ver se a exceção foi definida em algum catch();

Bruno Quaresma - SENAI PE

Bruno Quaresma - SENAI PE

Resultado

Bruno Quaresma - SENAI PE

Um pouco mais sobre o catch()

• Para que o catch() saiba que erro ele irá tratar nós passamos como parâmetro a classe da exceção com a variável que irá receber sua instância.

Classe

Variável

Bruno Quaresma - SENAI PE

A classe Exception

• Essa classe é a classe pai de todas as exceções no PHP;

• Ela contém quatro métodos básicos:– getMessage() - Retornar a mensagem de erro.

– getCode() - Retornar o código do erro.

– getFile() - Retorna o caminho do arquivo onde a exceção foi gerada.

– getLine() - Retorna o número da linha onde a exceção foi gerada.

Bruno Quaresma - SENAI PE

Criando exceções personalizadas

• Basta apenas criar uma classe que seja filha da classe Exception;

Bruno Quaresma - SENAI PE

Bruno Quaresma - SENAI PE

Posso tratar vários erros?

• Claro que SIM!;

• Um try suporta diversas exceções com seus respectivos catch();

• Mas, de que forma?

Bruno Quaresma - SENAI PE

Bruno Quaresma - SENAI PE

Bruno Quaresma - SENAI PE

Exercício

• Crie uma classe de conta bancária com os métodos:– saque();– deposito();

• Escreva quais os erros que podem acontecer e como eles podem ser resolvidos ou tratados;

• Depois, trate devidamente os erros que podem ser gerados;

• Ao final, tente executar todos os erros que você listou e verifique se eles foram devidamente tratados;

Bruno Quaresma - SENAI PE

Pesquisa

• Vimos que podemos gerar uma classe personalizada para o tratamento de erros de forma bem simples. Para se aprofundar no assunto você irá pesquisar “Exceções personalizadas no PHP” para debatermos na próxima aula.

Bruno Quaresma - SENAI PE