Esercizi Gestione Errori PHP
- Esercizio 1: Utilizzare try e catch
- Esercizio 2: Utilizzare finally
- Esercizio 3: Creare un’eccezione personalizzata
- Esercizio 4: Gestione degli errori con set_error_handler
- Esercizio 5: Utilizzare trigger_error
- Esercizio 6: Logging degli errori
- Esercizio 7: Restituire un messaggio di errore JSON
- Esercizio 8: Configurare il display degli errori
Ecco degli esercizi con soluzione per praticare la gestione degli errori in PHP.
try
e catch
Esercizio 1: Utilizzare Utilizzare `try` e `catch` per gestire una divisione per zero.
<?phpfunction dividi($dividendo, $divisore) { if ($divisore == 0) { throw new Exception("Divisione per zero."); } return $dividendo / $divisore;}
try { echo dividi(10, 0);} catch (Exception $e) { echo "Errore: " . $e->getMessage(); // Output: Errore: Divisione per zero.}?>
finally
Esercizio 2: Utilizzare Utilizzare `try`, `catch` e `finally` per eseguire del codice indipendentemente dal fatto che si verifichi un'eccezione.
<?phpfunction dividi($dividendo, $divisore) { if ($divisore == 0) { throw new Exception("Divisione per zero."); } return $dividendo / $divisore;}
try { echo dividi(10, 2); // Output: 5} catch (Exception $e) { echo "Errore: " . $e->getMessage();} finally { echo " Questo viene eseguito comunque."; // Output: Questo viene eseguito comunque.}?>
Esercizio 3: Creare un’eccezione personalizzata
Creare una classe di eccezione personalizzata e lanciarla in una funzione.
<?phpclass EccezionePersonalizzata extends Exception {}
function verificaNumero($numero) { if ($numero > 10) { throw new EccezionePersonalizzata("Numero maggiore di 10."); } return true;}
try { verificaNumero(15);} catch (EccezionePersonalizzata $e) { echo "Errore: " . $e->getMessage(); // Output: Errore: Numero maggiore di 10.}?>
set_error_handler
Esercizio 4: Gestione degli errori con Creare una funzione personalizzata per gestire gli errori utilizzando `set_error_handler`.
<?phpfunction gestoreErrori($errno, $errstr) { echo "Errore [$errno]: $errstr";}
set_error_handler("gestoreErrori");
echo $variabileNonDefinita; // Output: Errore [8]: Undefined variable: variabileNonDefinita?>
trigger_error
Esercizio 5: Utilizzare Generare un errore personalizzato utilizzando `trigger_error`.
<?phpfunction calcola($numero) { if ($numero < 0) { trigger_error("Numero negativo non consentito.", E_USER_WARNING); } return $numero * 2;}
echo calcola(-5); // Output: PHP Warning: Numero negativo non consentito.?>
Esercizio 6: Logging degli errori
Creare una funzione per loggare gli errori in un file.
<?phpfunction gestoreErrori($errno, $errstr) { $log = "Errore [$errno]: $errstr\n"; error_log($log, 3, "errori.log");}
set_error_handler("gestoreErrori");
echo $variabileNonDefinita; // Output nel file errori.log: Errore [8]: Undefined variable: variabileNonDefinita?>
Esercizio 7: Restituire un messaggio di errore JSON
Gestire un'eccezione e restituire un messaggio di errore in formato JSON.
<?phpfunction dividi($dividendo, $divisore) { if ($divisore == 0) { throw new Exception("Divisione per zero."); } return $dividendo / $divisore;}
try { echo dividi(10, 0);} catch (Exception $e) { echo json_encode(["errore" => $e->getMessage()]); // Output: {"errore":"Divisione per zero."}}?>
Esercizio 8: Configurare il display degli errori
Configurare PHP per visualizzare tutti gli errori e i warning.
<?phpini_set('display_errors', 1);ini_set('display_startup_errors', 1);error_reporting(E_ALL);
echo $variabileNonDefinita; // Output: Warning: Undefined variable $variabileNonDefinita?>