Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exceptions en c# - Besoins d'explications svp

Gérez les erreurs et les exceptions dans votre programme

    17 mars 2023 à 17:39:25

    Bonjour à toutes et tous,

    voilà j'apprend à coder en C#. J'en suis à Gérez les erreurs et exceptions dans votre programme. J'en suis au dernier exercice où j'ai du mal à comprendre pourquoi mon code ne fonctionne pas. Le voici : 

    using System;
    
    using System.Collections.Generic;
    
    namespace Exceptions
    
    {
    
        public class TemperatureMoyenne
    
        {
    
            /// <summary>
    
            /// Affiche la température moyenne à partir des valeurs fournies comme arguments en ligne de commande
    
            /// </summary>
    
            /// <param name="args">liste de températures séparées par des espaces</param>
    
            public static void Main(string[] args)
    
            {
    
                List<int> temperaturesEnregistreDegresCelcius = new List<int>();
    
                // remplir la liste à partir des valeurs fournies comme arguments en ligne de commande
    
                foreach (string stringRepresentationTemperature in args)
    
                {
    
                  try
    
                    {
    
                        int temperature = int.Parse(stringRepresentationTemperature);
    
                        temperaturesEnregistreDegresCelcius.Add(temperature);
    
                    }
    
                    catch (DivideByZeroException e)
    
                    {
    
                        Console.WriteLine("Erreur: " + e.Message);
    
                    }
    
                }
    
                // Calculer et afficher la température moyenne
    
                int moyenneTemperature = MathSimple.calculMoyenne(temperaturesEnregistreDegresCelcius);
    
                Console.WriteLine("La température moyenne est " + moyenneTemperature);
    
            }
    
        }
    
    }




    Pour rappel la consigne est d'ajouter un try/catch, pour que le programme ne plante pas si on lance la commande mono TemperatureMoyenne.exe. 

    Et pourtant, quand je lance mon programme sans mettre de valeur après ma commande, le message d'erreur est toujours le même :

    Unhandled Exception:
    System.DivideByZeroException: Attempted to divide by zero.

    Je n'arrive pas à comprendre où est ce que je me trompe, et pourquoi ? Pourriez vous m'aiguiller svp ?

    Merci d'avance ! (:
    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2023 à 9:52:32

      Bon, pour commencer, l'instruction "pour que le programme ne plante pas si on lance la commande mono TemperatureMoyenne.exe" est complètement DÉBILE.

      Mais l'exercice est correct.

      Je pense que celui qui a traduit l'exercice n'a encore rien compris à l'usage des exceptions.

      D'après toi, où ce produit l'exception ?

      Indice, pas entre les lignes 33 à 49 mais plutôt à la ligne 55.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        20 mars 2023 à 11:08:25

        Pour compléter, l'erreur que tu cherches à capturer est une division par 0; donc à quel moment dans ton code cela peut se produire ?

        Après, toutes les indications et explications sont dans la cours .... 

        • Partager sur Facebook
        • Partager sur Twitter

        Exceptions en c# - Besoins d'explications svp

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown