Menu
Coddy logo textTech

Criando uma Exceção Personalizada

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 56 de 68.

Embora a classe nativa Exception do PHP funcione bem para o tratamento geral de erros, criar suas próprias classes de exceção personalizadas fornece mensagens de erro muito mais específicas e significativas. Exceções personalizadas ajudam você a distinguir entre diferentes tipos de problemas em seu código e tratá-los adequadamente.

Para criar uma exceção personalizada, você estende a classe base Exception do PHP usando a palavra-chave extends. Essa herança fornece à sua exceção personalizada toda a funcionalidade da exceção padrão, enquanto permite que você adicione seu próprio comportamento específico ou simplesmente forneça um nome mais descritivo.

<?php
class InvalidEmailException extends Exception {
    // A classe pode estar vazia - ela herda tudo de Exception
}

// Você também pode adicionar propriedades ou métodos personalizados
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

O poder das exceções personalizadas reside em seus nomes descritivos e na capacidade de capturar tipos específicos de exceção. Em vez de capturar uma Exception genérica, você pode capturar InvalidEmailException, DatabaseConnectionException ou qualquer outra exceção personalizada que você criar. Isso torna o seu tratamento de erros mais preciso e o seu código mais fácil de manter.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Você receberá uma entrada: uma string representando o nome de uma classe de exceção. Esta entrada será uma única palavra que deve ser usada como o nome para sua classe de exceção personalizada (exemplo: NegativeBalanceException ou InvalidUsernameException).

Leia a entrada e crie uma classe de exceção personalizada usando o nome fornecido. Sua classe de exceção personalizada deve estender a classe base Exception do PHP. Após criar a classe, imprima "Custom exception created: " seguido pelo nome da classe que você recebeu como entrada.

Formato de entrada: Uma linha contendo uma string representando o nome da classe de exceção (exemplo: InvalidAgeException)

Saída esperada: Custom exception created: seguido pelo nome da classe de exceção

Folha de consulta

Para criar exceções personalizadas no PHP, estenda a classe base Exception usando a palavra-chave extends:

<?php
class InvalidEmailException extends Exception {
    // A classe pode estar vazia - ela herda tudo de Exception
}

// Você também pode adicionar propriedades ou métodos personalizados
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Exceções personalizadas fornecem mensagens de erro mais específicas e significativas, permitindo que você capture tipos de exceção específicos em vez de objetos Exception genéricos. Isso torna o tratamento de erros mais preciso e o código mais fácil de manter.

Experimente você mesmo

<?php
// Lê o nome da classe de exceção
$className = trim(fgets(STDIN));

// TODO: Escreva seu código abaixo para criar a classe de exceção personalizada


// Exibe o resultado
echo "Custom exception created: " . $className;
?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo