Objetivo
Surgimento da Linguagem
Versões
Linguagem Interpretada
Instruções condicionais
Instruções de Repetição
Definição de função/classe
Definição de comentarios
               
Exceções
Arquivos
Banco de dados
Documentação
Controles personalizados
IDEs
Padronização ANSI/ISO
Referências
               

Exceções

São mecanismos de tratamento de erros. É a forma que o programa tem para lidar com situações inesperadas evitando que o programa entre em “pane” e pare de funcionar. Imagine por exemplo, que um cadastro de cliente, imagine que nesse cadastro tem um campo CPF, e que nesse campo espera-se receber apenas numero como parâmetro válido. Agora imagine que alguém durante o cadastro entra com uma letra ou um caractere inválido nesse campo. Nesse caso, pode ser que o programa trave, afinal, ele estava esperando números. Uma forma de evitar que ele trave seria lançar uma exceção para que o programa não pare de funcionar. A classe PHP responsável por isso é a classe Exception. O tratamento de Exceções funciona de forma muito parecida com o tratamento de exceções em Java. Existe um bloco de código try{ throw new Exception( ); }catch{ } (tente executar o código, se algo der errado, gere uma exceção, pegue a exceção gerada e faça algo com ela) isso seria uma forma bem simplista de explicar.

Os principais métodos da classe Exception são os seguintes:

getCode( ) - Retorna o código do erro definido no bloco throw.

getMessage ( ) – retorna uma mensagem de erro definida no bloco throw.

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

getLine ( ) – Retorna a linha do código onde a ex1ceção foi gerada.

Ex: <?php

Try{

Throw new exception (‘A terrible error hás occurred' , 42);

}

Catch (Exception $e){

Echo ‘Exception ‘. $e-> getCode ( ). ‘:' . $e->getMessage( )

.' in ‘. $e->getCode( ). ‘ on line ‘. $e->getLine( ). ‘<BR />';

}

?> /* Trecho tirado do livro PHP e MySQL Desenvolvimento web de Luke Welling e Laura Thomsom, tradução da 3ª Ed. No capitulo 7, página 144, listagem 7.1 basic_exception.php – Lançando e capturando uma exceção */