Menu
Coddy logo textTech

Creare un'eccezione personalizzata

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 56 di 68.

Sebbene la classe integrata Exception di PHP funzioni bene per la gestione generale degli errori, creare classi di eccezione personalizzate consente di fornire messaggi di errore molto più specifici e significativi. Le eccezioni personalizzate ti aiutano a distinguere tra diversi tipi di problemi nel tuo codice e a gestirli in modo appropriato.

Per creare un'eccezione personalizzata, estendi la classe base Exception di PHP usando la parola chiave extends. Questa ereditarietà fornisce alla tua eccezione personalizzata tutte le funzionalità dell'eccezione standard, consentendoti al contempo di aggiungere un comportamento specifico o semplicemente di darle un nome più descrittivo.

<?php
class InvalidEmailException extends Exception {
    // La classe può essere vuota: eredita tutto da Exception
}

// Puoi anche aggiungere proprietà o metodi personalizzati
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Il vantaggio delle eccezioni personalizzate risiede nei loro nomi descrittivi e nella possibilità di intercettare tipi specifici di eccezioni. Invece di intercettare una generica Exception, puoi intercettare InvalidEmailException, DatabaseConnectionException o qualsiasi altra eccezione personalizzata che crei. Questo rende la gestione degli errori più precisa e il codice più facile da mantenere.

challenge icon

Sfida

Facile

Riceverai un input: una stringa che rappresenta il nome di una classe di eccezione. Questo input sarà una singola parola da usare come nome della tua classe di eccezione personalizzata (esempio: NegativeBalanceException o InvalidUsernameException).

Leggi l’input e crea una classe di eccezione personalizzata usando il nome fornito. La tua classe di eccezione personalizzata deve estendere la classe base Exception di PHP. Dopo aver creato la classe, stampa "Custom exception created: " seguito dal nome della classe ricevuto come input.

Formato dell’input: Una riga contenente una stringa che rappresenta il nome della classe di eccezione (esempio: InvalidAgeException)

Output previsto: Custom exception created: seguito dal nome della classe di eccezione

Provalo tu

<?php
// Leggi il nome della classe dell'eccezione
$className = trim(fgets(STDIN));

// TODO: Scrivi il tuo codice qui sotto per creare la classe di eccezione personalizzata


// Mostra il risultato
echo "Custom exception created: " . $className;
?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online