Récapitulatif - Division sécurisée
Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 43 sur 65.
Défi
FacileCréez un programme qui implémente un calculateur de division sécurisée en utilisant la gestion des exceptions. Votre programme doit gérer les erreurs de division par zéro de manière élégante et fournir un retour clair aux utilisateurs lorsque des erreurs surviennent.
- Lisez une entrée de type chaîne de caractères représentant le premier nombre (dividende)
- Lisez une entrée de type chaîne de caractères représentant le deuxième nombre (diviseur)
- Créez une fonction appelée
safeDivisionqui prend deux paramètres de type double et retourne un résultat de type double - La fonction doit utiliser un bloc
try-catchpour gérer les erreurs de division potentielles : - Dans le bloc
try: Vérifiez si le diviseur est zéro et lancez une exception avec le message"Division by zero is not allowed"si c'est le cas, sinon effectuez la division - Dans le bloc
catch: Gérez l'exception et retournez0.0comme valeur par défaut sécurisée - Convertissez les chaînes d'entrée en valeurs de type double en utilisant
double.parse() - Appelez la fonction
safeDivisionavec les valeurs converties - Affichez les résultats dans le format exact indiqué ci-dessous
Par exemple, si les entrées sont "10.0" et "2.0", votre programme doit afficher :
Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfullySi les entrées sont "15.0" et "0.0", votre programme doit afficher :
Safe Division Calculator
========================
First number: 15.0
Second number: 0.0
Performing division...
Error: Division by zero is not allowed
Using safe default value: 0.0
Operation completed with error handlingSi les entrées sont "7.5" et "2.5", votre programme doit afficher :
Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfullyVotre programme doit implémenter la fonction safeDivision qui utilise un bloc try-catch pour gérer la division par zéro. Dans le bloc try, vérifiez si le diviseur est égal à 0.0 et utilisez le mot-clé throw pour déclencher manuellement une exception si c'est vrai. Dans le bloc catch, affichez le message d'erreur et retournez 0.0 comme valeur de repli sécurisée. Le programme principal doit appeler cette fonction et afficher différents messages de fin selon qu'une erreur s'est produite ou non.
Essayez vous-même
import 'dart:io';
// TODO: Créer la fonction safeDivision ici
void main() {
// Lire l'entrée
String? firstInput = stdin.readLineSync();
String? secondInput = stdin.readLineSync();
// Convertir les chaînes en double
double firstNumber = double.parse(firstInput!);
double secondNumber = double.parse(secondInput!);
// Afficher l'en-tête
print("Safe Division Calculator");
print("========================");
print("First number: $firstNumber");
print("Second number: $secondNumber");
print("Performing division...");
// TODO: Appeler la fonction safeDivision et gérer le résultat
// N'oubliez pas de vérifier si une erreur s'est produite pour afficher le message de fin approprié
}Toutes les leçons de Logique & Flux
1Manipulation avancée des listes
Propriétés de liste : first & lastÉtat de la liste : isEmpty & isNotEmptyInverser une listeAjouter à une liste : insertSuppression dans une liste : removeWhereRechercher dans une liste : indexOfTrier une listeMélanger une listeRécapitulatif - Organisateur de liste4Manipulation avancée des Maps
Itérer sur une MapVérifier les clés et les valeursPropriétés de Map : keys & valuesAjout conditionnel : putIfAbsentSupprimer des entrées d'une MapMaps imbriquéesRécapitulatif - Mise à jour de l'inventaire2Opérations fonctionnelles sur les listes
Transformer avec 'map'Filtrer avec 'where'Utiliser '.toList()'Vérifier des conditions avec 'any'Conditions avec 'every'Trouver avec 'firstWhere'Récapitulatif - Filtrage de données3Les Ensembles
Qu'est-ce qu'un ensemble ?Créer un ensembleAjouter et supprimer des éléments d'un ensembleVérifier la présence d'éléments dans un ensembleConvertir une liste en ensembleUnion d'ensemblesIntersection d'ensemblesDifférence d'ensemblesRécapitulatif - Liste d'invités uniques6Gestion de base des erreurs
Que sont les exceptions ?Le bloc 'try-catch'Intercepter des exceptions avec 'on'Le bloc 'finally'Lever une exceptionRécapitulatif - Division sécurisée