Experimente o bloco
PHP tem uma classe base chamada Exceção e exceções são jogadas de tentar Bloco para Exceção ou subclasse de Exceção aula.
Sintaxe:
tentarCatch bloco
Pegar O bloco aparece depois tentar bloquear. PHP suporta múltiplas pegar blocos para lidar com várias exceções. Quando qualquer exceção joga, o PHP tenta combinar com o primeiro bloco de captura, o segundo bloco de captura, se não corresponde ao primeiro, e assim por diante.
Sintaxe:
tentarFinalmente bloqueie
Finalmente, o bloco pode ser usado após ou em vez de capturar bloco no PHP e este bloco é executado ao tentar o bloco saídas. Qualquer código normal ou de término pode ser adicionado a este bloco depois de executar o código de tentativa de bloco.
Sintaxe:
tentarExemplo 1: Usando o bloco Try-capath para obter um erro simples
O exemplo a seguir mostra o uso de um bloco de tentativa para uma única exceção. Crie um arquivo php com o seguinte script. O valor do parâmetro de consulta 'num'foi lido e verificado no bloco de tentativa. Se o valor estiver abaixo de 10, o bloco de tentativa lançará uma exceção no bloco de captura. Caso contrário, o valor será impresso. Catch Block pegará a exceção e imprimirá a mensagem Enviar do bloco de tentativa. Se nenhum parâmetro de consulta passar, o valor padrão será 100.
// teste O número é 10 ou maisO número deve ser 10 ou mais.
");O número é $ n
";Saída:
Execute o script sem qualquer parâmetro de consulta.
http: // localhost/phpcode/trycatch1.php
Execute o script com um valor de parâmetro de consulta que é menor que 10.
http: // localhost/phpcode/trycatch1.php?num = 5
Execute o script com um valor de parâmetro de consulta que é maior que 10.
http: // localhost/phpcode/trycatch1.php?num = 15
Exemplo 2: Lidando com vários erros herdando a classe de exceção
Crie um arquivo php com o seguinte script para lidar com as múltiplas exceções usando vários blocos de captura. Uma subclasse chamada 'myException'foi criado estendendo a classe base'Exceção'Para lidar com o'Erro de URL inválido'. A classe base Exceção tem sido usado para lidar 'Erro de URL vazio'.
// Declare uma subclasse myException, estendendo a classe de exceção'.$ this-> mensagem.'Não é um endereço de URL válido
';O endereço da URL está vazio.
");".$ url."É um endereço de URL válido
";Saída:
Execute o script sem qualquer parâmetro de consulta.
http: // localhost/phpcode/trycatch2.php
Execute o script com um parâmetro de consulta nomeado url sem nenhum valor.
http: // localhost/phpcode/trycatch2.php?url =
Execute o script com um parâmetro de consulta nomeado url com um valor de URL inválido.
http: // localhost/phpcode/trycatch2.php?url = google
Execute o script com um parâmetro de consulta nomeado url com um valor de URL válido.
http: // localhost/phpcode/trycatch2.php?url = http: // google.com
Imagem
EXEMPLO 3: LIDAMENTO DE ERRO DE ARQUIVO DE FORMULAR USTIO
Crie um arquivo php com o seguinte script para saber o uso de tentativa, captura e finalmente bloqueie. O script tentará abrir o arquivo 'teste.Bloco Txt 'e Try lançará uma exceção se o arquivo não existir no local atual ou não conseguir abrir. O bloco de captura imprimirá a mensagem de erro lançada do bloco de tentativa. O código do bloco finalmente fechará o manipulador de arquivo depois de executar o bloco de tentativa. Tente o bloco imprimirá o conteúdo do arquivo se nenhum erro aparecer.
error_reporting (0);Incapaz de abrir o arquivo.
");Saída:
Execute o script.
http: // localhost/phpcode/trycatch3.php
Exemplo-4: Usando bloco de try-capath aninhado
Crie um arquivo php com o seguinte script para saber a maneira de usar o bloco de tentativa aninhado. O script verificará o valor retirado de um URL é um número ou não no primeiro bloco de tentativa e o número tirado é maior que 100 ou não será verificado no segundo bloco de tentativa.
if (isset ($ _ get ['n'])))Saída:
Execute o script sem qualquer parâmetro de consulta.
http: // localhost/phpcode/trycatch4.php
Execute o script com o valor do parâmetro de consulta menor que 100.
http: // localhost/phpcode/trycatch4.php?n = 78
Execute o script com o valor do parâmetro de consulta maior que 100.
http: // localhost/phpcode/trycatch4.php?n = 112
Exemplo 5: Usando o bloco Try-capath com a função
Crie um arquivo php com o seguinte script para saber o uso do bloco de transmissão com a função. O script levará dois valores numéricos dos parâmetros de consulta de URL e o bloco de try-capath chamará uma função que lançará uma exceção se o “Divisão por zero" Um erro ocorreu.
// Defina função para cálculo da divisãoO resultado de $ a/$ b = $ resultado
";Erro: ', $ e-> getMessage (), "
";Saída:
Execute o script sem qualquer parâmetro de consulta.
http: // localhost/phpcode/trycatch5.php
Execute o script com os valores dos parâmetros de consulta, 10 e 5.
http: // localhost/phpcode/trycatch5.php?n1 = 10 e n2 = 5
Execute o script com os valores dos parâmetros de consulta, 10 e 0.
http: // localhost/phpcode/trycatch5.php?n1 = 10 e n2 = 0
Exemplo 6: Exibir mensagem de erro em detalhes para exceção personalizada
Crie um arquivo php com o seguinte script para exibir a mensagem de erro em detalhes usando diferentes métodos da classe de exceção. O script retirará o nome do arquivo do parâmetro URL e verifique se o arquivo existe ou não usando um bloco de tentativa.
if (isset ($ _ get ['fn'])))Saída:
Execute o script sem qualquer parâmetro de consulta.
http: // localhost/phpcode/trycatch6.php
Execute o script com o parâmetro de consulta que contém o nome do arquivo inexistente.
http: // localhost/phpcode/trycatch6.php?fn = texto.TXT
Execute o script com o parâmetro de consulta que contém o nome do arquivo existente.
http: // localhost/phpcode/trycatch6.php?fn = trycatch5.php
Conclusão
Os usos básicos do bloco de try-capatch foram explicados neste tutorial usando scripts PHP muito simples. Espero que o conceito de manuseio de exceção no PHP seja liberado após praticar os exemplos deste tutorial adequadamente.