PHP
HTML
CSS
JavaScript
Generatori
Varie & Old

PHP: Gestione errori

Gestione degli errori in PHP

La gestione degli errori è fondamentale per controllare il flusso di esecuzione ed evitare comportamenti imprevisti. In PHP possiamo usare diversi strumenti come try-catch, funzioni di gestione personalizzata e l’analisi dei codici di errore.

Introduzione

Durante l’esecuzione di uno script PHP possono verificarsi errori, ad esempio la mancanza di un file, l’impossibilità di connettersi a un database o il passaggio di un parametro errato. PHP offre vari strumenti per gestire questi problemi in modo ordinato, così da non interrompere bruscamente l’applicazione e da informare correttamente l’utente o il programmatore.


Gestione errori con try-catch

Il blocco try-catch permette di intercettare eccezioni e gestirle con codice personalizzato. È molto usato in combinazione con PDO e altre librerie.

Codice Esempio: try-catch con PDO

CODE: PHPpreleva codice
  1. <?php
  2. try {
  3.   $conn = new PDO("mysql:host=localhost;dbname=inesistente", "root", "");
  4.   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  5.   echo "Connessione riuscita.";
  6. } catch (PDOException $e) {
  7.   echo "Errore di connessione: " . $e->getMessage();
  8. }
  9. ?>
  10. <!-- Possibile Output:
  11. Errore di connessione: SQLSTATE[HY000] [1049] Unknown database 'inesistente'
  12. -->

Gestione errori con set_error_handler()

PHP consente di impostare un gestore di errori personalizzato. Questo è utile per centralizzare la logica e registrare gli errori in file di log o inviarli a un amministratore.

Codice Esempio: gestore errori personalizzato

CODE: PHPpreleva codice
  1. <?php
  2. // Funzione che gestisce gli errori
  3. function mioGestoreErrori($errno, $errstr) {
  4.   echo "Errore [$errno]: $errstr<br>";
  5. }
  6.  
  7. // Imposto il gestore
  8. set_error_handler("mioGestoreErrori");
  9.  
  10. // Provoco un errore
  11. echo $variabile_non_definita;
  12. ?>
  13. <!-- Output:
  14. Errore [8]: Undefined variable $variabile_non_definita
  15. -->

Tabella riassuntiva

Strumento Descrizione Uso
try-catch Intercetta e gestisce eccezioni generate da codice o librerie. Connessioni a database, operazioni delicate.
set_error_handler() Permette di definire un gestore personalizzato per gli errori. Centralizzare la gestione e log degli errori.
error_log() Scrive errori in un file di log o li invia via email. Tracciare problemi in produzione senza mostrare dettagli agli utenti.

Considerazioni

Una gestione degli errori ben organizzata evita interruzioni improvvise e fornisce indicazioni utili per correggere i problemi. È preferibile non mostrare mai all’utente finale dettagli tecnici, ma registrare gli errori in modo sicuro e leggibile per chi sviluppa. Questo contribuisce alla stabilità e alla sicurezza complessiva delle applicazioni PHP.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies