Como capturar exceções em PHP para HTML5and CSS3 Programação

HTML5 da vida real e programação CSS3 é perigoso. Muitas coisas podem dar errado em PHP. Então, a forma inteligente de programa de dados é programação defensiva

. Esta prática envolve antecipando os erros e tentar resolvê-los graciosamente. PHP tem algumas técnicas de tratamento de erros avançadas disponíveis que são perfeitos para a tarefa.

Imagine que você escreveu algum código que ficou assim:

imprimir 5 / 0-

Você provavelmente não faria isso, mas às vezes um código ruim desliza através. Se o servidor está configurado para passar para fora mensagens de erro, você verá algo parecido com isto.

image0.jpg

Manipulação de exceção

Na verdade, há muito mais acontecendo do que você pode apreciar em primeiro lugar. O comportamento padrão de muitas instalações PHP é para esconder erros. No entanto, os erros ocorrem, especialmente se você permitir a entrada do usuário. Esta listagem de código explicitamente armadilhas para erros e os relata independentemente das configurações de servidor:

try.php

? Lt; phptry {5 / 0-} catch (Exception $ e) {print $ e-> getMessage () -} // fim tentar>?

Aqui é o que está acontecendo:

  1. Use o experimentar palavra-chave para indicar código potencialmente perigoso.

    o experimentar palavra-chave abre um bloco de código (como um loop ou condição). Todo o código entre experimentar e pegar é considerado potencialmente perigoso.

  2. Coloque o código perigoso do experimentar quadra.

    Qualquer código que pode causar erros deve ser colocada dentro do experimentar quadra. O código mais perigoso geralmente envolve coisas que o programador não pode controlar diretamente: acesso a arquivos externos, as operações em dados definidos pelo usuário, ou a exposição a programas e processos externos.

  3. Use o pegar cláusula de antecipar erros.

    o pegar cláusula indica o fim do código perigoso.

  4. Indicar o tipo de exceção.

    O parâmetro para a pegar cláusula é um objeto do tipo Exceção. PHP tem uma série de exceções incorporadas, e muitas vezes uma biblioteca ou um conjunto de ferramentas incluirá novas excepções (você também pode construir-los você mesmo, se você quiser).

  5. Gerir a exceção.

    o pegar cláusula abre um outro bloco de código. Coloque o código aqui que vai resolver o problema (ou pelo menos morrer com um pouco de estilo e graça - informando o usuário que deu errado antes baralhar fora desta bobina mortal,). A linha mais comum aqui é chamar print ($ e-> getMessage ()). Todos os objetos de exceção tem um getMessage () método, e esta linha relata a mensagem de erro atual.

Saber quando armadilha para exceções

Se o servidor está configurado para depuração (como XAMPP é, por padrão), não será geralmente necessário para configurar a manipulação de exceção porque o comportamento padrão de uma configuração de depuração é relatar as exceções de qualquer maneira. Há algumas vezes você ainda vai querer o tratamento de exceção explícita:

  • Você está em um servidor sem definições de depuração: Você pode não ter acesso à configuração do servidor, de modo que você pode não ser capaz de ativar relatórios de exceção automáticas. relatórios de exceção manuais ainda passar.

  • Você quer fazer algo especial: O manipulador de exceção automática simplesmente relata o problema. Se você quer fazer outra coisa (por exemplo, usar um arquivo padrão, se um arquivo não for encontrado), você precisará de um manipulador de exceção personalizada para essa situação.

  • Você está fazendo algo exótico: bibliotecas especiais muitas vezes vêm com suas próprias exceções personalizadas, e você vai precisar de um manipulador de exceção para cobrir estas situações.

menu