Menu
Coddy logo textTech

Le bloc 'try...catch'

Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 53 sur 68.

Lorsque votre code PHP rencontre des problèmes susceptibles de provoquer son arrêt, vous avez besoin d'un moyen de gérer ces situations avec élégance. Le bloc try...catch offre une approche structurée pour traiter les exceptions - des objets d'erreur spéciaux qui représentent des problèmes graves dans votre code.

Le bloc try contient du code qui pourrait échouer ou lever une exception. Si une exception se produit dans ce bloc, PHP arrête immédiatement l'exécution du code restant dans le bloc try et passe au bloc catch correspondant. Le bloc catch gère l'exception, permettant à votre script de continuer à s'exécuter au lieu de planter.

<?php
try {
    // Code qui pourrait lever une exception
    $result = riskyFunction();
    echo "Success!";
} catch (Exception $e) {
    // Gérer l'exception
    echo "An error occurred: " . $e->getMessage();
}
?>

Le bloc catch reçoit un objet Exception qui contient des informations sur ce qui s'est mal passé. Vous pouvez accéder au message d'erreur en utilisant la méthode getMessage(). Cette approche empêche votre script entier de s'arrêter en cas de problème, vous donnant le contrôle sur la façon dont les erreurs sont gérées et sur ce que vos utilisateurs voient.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

challenge icon

Défi

Facile

Vous recevrez une entrée : un nombre représentant une valeur d'âge. L'entrée peut être un nombre négatif, ce qui serait invalide pour un âge.

Lisez l'entrée, convertissez-la en un entier et créez un bloc try...catch. À l'intérieur du bloc try, vérifiez si l'âge est négatif. S'il est négatif, lancez une nouvelle Exception avec le message "Age cannot be negative". Si l'âge est valide (zéro ou positif), affichez "Valid age: " suivi de la valeur de l'âge.

Dans le bloc catch, gérez l'exception en affichant "Error: " suivi du message de l'exception en utilisant la méthode getMessage().

Format d'entrée : Une ligne contenant un entier (exemple : 25 ou -5)

Sortie attendue :

  • Si l'âge est valide : Valid age: suivi de la valeur de l'âge
  • Si l'âge est négatif : Error: Age cannot be negative

Aide-mémoire

Le bloc try...catch gère les exceptions en PHP, empêchant les scripts de planter lorsque des erreurs surviennent.

Syntaxe de base :

<?php
try {
    // Code qui pourrait lever une exception
    $result = riskyFunction();
    echo "Success!";
} catch (Exception $e) {
    // Gérer l'exception
    echo "An error occurred: " . $e->getMessage();
}
?>

Le bloc try contient du code potentiellement problématique. Si une exception survient, PHP passe au bloc catch, qui reçoit un objet Exception. Utilisez getMessage() pour accéder au message d'erreur.

Vous pouvez lever manuellement des exceptions en utilisant :

throw new Exception("Custom error message");

Essayez vous-même

<?php
// Lire l'entrée
$age = intval(fgets(STDIN));

// TODO : Écrivez votre code ci-dessous
// Créer un bloc try...catch pour valider l'âge


?>
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux