Diagnostics simples : exceptions ou vérifications préalables
Effectuez des vérifications préalables pour les entrées invalides attendues, levez des exceptions pour les états exceptionnels et utilisez try/catch pour gérer les erreurs avec élégance.
Diagnostics simples : exceptions ou vérifications préalables est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 3 leçons au total.
Présentation des diagnostics
Objectif : utiliser des vérifications de garde pour les problèmes prévus et des exceptions pour les problèmes rares et graves.
Démonstration d'une vérification de garde
Les vérifications de garde renvoient un état au lieu de lever une exception pour les valeurs d'entrée généralement non valides.
using System;
public class Program
{
public static bool TryDivide(int a, int b, out int result)
{
if (b == 0)
{
result = 0;
return false; // guard check fails
}
result = a / b;
return true;
}
public static void Main(string[] args)
{
int r;
bool ok = TryDivide(10, 0, out r);
Console.WriteLine("ok=" + ok + " result=" + r);
}
}
Démonstration d'une exception
Les exceptions interrompent l'exécution, sauf si elles sont gérées. Utilisez-les pour les situations inattendues ou graves.
using System;
public class Program
{
public static int PriceWithTax(int price, int ratePercent)
{
if (price < 0)
{
throw new ArgumentOutOfRangeException("price");
}
if (ratePercent < 0 || ratePercent > 100)
{
throw new ArgumentOutOfRangeException("ratePercent");
}
return price + (price * ratePercent / 100);
}
public static void Main(string[] args)
{
try
{
int total = PriceWithTax(100, 20);
Console.WriteLine("Total=" + total);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Combiner vérifications et exceptions
Combinez les approches : les vérifications de garde pour la validation courante, les exceptions pour les états non valides.
using System;
public class Program
{
public static bool TryParsePrice(string text, out int value)
{
return int.TryParse(text, out value); // guard check
}
public static int GetDiscount(int code)
{
if (code < 0) throw new ArgumentException("Invalid code"); // exception
return 10;
}
public static void Main(string[] args)
{
int v;
if (TryParsePrice("123", out v))
{
Console.WriteLine("Parsed " + v);
}
try
{
int d = GetDiscount(-1);
Console.WriteLine("Discount=" + d);
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Exemple de try/catch
Utilisez try/catch pour gérer les exceptions et permettre au programme de continuer à s'exécuter.
using System;
public class Program
{
public static void Main(string[] args)
{
try
{
int x = 10;
int y = 0;
int z = x / y; // will throw DivideByZeroException
Console.WriteLine(z);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("Cannot divide by zero: " + ex.Message);
}
}
}
Conseils
Conseils :
- Les vérifications de garde renvoient des valeurs par défaut sûres dans les cas courants.
- Les exceptions doivent rester rares et pertinentes.
- Interceptez uniquement ce que vous pouvez gérer.
Vérification de garde ou exception
Récapitulatif
Récapitulatif : utilisez les vérifications de garde pour les valeurs d'entrée courantes et non valides, levez des exceptions pour les états exceptionnels, et gérez-les avec try/catch lorsqu'une récupération est possible.
Questions Fréquemment Posées
La leçon « Diagnostics simples : exceptions ou vérifications préalables » est-elle gratuite ?
Oui — le texte complet de « Diagnostics simples : exceptions ou vérifications préalables » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Diagnostics simples : exceptions ou vérifications préalables » ?
Effectuez des vérifications préalables pour les entrées invalides attendues, levez des exceptions pour les états exceptionnels et utilisez try/catch pour gérer les erreurs avec élégance. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C# Academy ?
Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 3.
Combien de temps prend la leçon « Diagnostics simples : exceptions ou vérifications préalables » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?
Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- if/else, switch (classique) et boucles : for, while, do, foreach
- break/continue ; goto (à éviter) ; portée ; exceptions ou vérifications préalables
- Diagnostics simples : exceptions ou vérifications préalables