Récapitulatif - Gestion des erreurs
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 30 sur 66.
Défi
MoyenCréez une méthode appelée processUserData qui :
- Prend deux paramètres : une chaîne de caractères
filePathet un entieruserAge - Utilise une instruction using pour lire la première ligne du fichier situé à
filePath - Vérifie que
userAgeest compris entre 18 et 120 (inclus) - Si l'âge est invalide, levez une exception personnalisée appelée
InvalidUserAgeExceptionavec le message "Age must be between 18 and 120" - Si le fichier n'existe pas, interceptez la
FileNotFoundExceptionet affichez "User file not found" - Si une autre exception d'E/S se produit, interceptez-la et affichez "Error reading user data: [exception message]"
- Pour toute autre exception, affichez "An unexpected error occurred"
- Retournez le contenu du fichier en cas de succès ou "No data" si une exception se produit
Essayez vous-même
using System;
using System.IO;
class ProcessUserData
{
// Créez votre exception personnalisée ici
public static string processUserData(string filePath, int userAge)
{
// Écrivez votre code ici
}
}Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety