PHP - Tratamento de Erros

18

Click here to load reader

Transcript of PHP - Tratamento de Erros

Page 1: PHP - Tratamento de Erros

TRATAMENTO DE ERROS COM PHP

Bruno Quaresma - SENAI PE

Page 2: PHP - Tratamento de Erros

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

Page 3: PHP - Tratamento de Erros

Forma errada de tratar um erro

Bruno Quaresma - SENAI PE

Page 4: PHP - Tratamento de Erros

E como tratar?

• Através do comando:

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

Bruno Quaresma - SENAI PE

Page 5: PHP - Tratamento de Erros

Forma certa de tratar um erro

Bruno Quaresma - SENAI PE

Page 6: PHP - Tratamento de Erros

Sim mas... Como capturar esse erro?

• Utilizando o try e catch();

Bruno Quaresma - SENAI PE

Page 7: PHP - Tratamento de Erros

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

Page 8: PHP - Tratamento de Erros

Bruno Quaresma - SENAI PE

Page 9: PHP - Tratamento de Erros

Resultado

Bruno Quaresma - SENAI PE

Page 10: PHP - Tratamento de Erros

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

Page 11: PHP - Tratamento de Erros

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

Page 12: PHP - Tratamento de Erros

Criando exceções personalizadas

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

Bruno Quaresma - SENAI PE

Page 13: PHP - Tratamento de Erros

Bruno Quaresma - SENAI PE

Page 14: PHP - Tratamento de Erros

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

Page 15: PHP - Tratamento de Erros

Bruno Quaresma - SENAI PE

Page 16: PHP - Tratamento de Erros

Bruno Quaresma - SENAI PE

Page 17: PHP - Tratamento de Erros

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

Page 18: PHP - Tratamento de Erros

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