• [^] # Re: Mauvaise connaissance du c++

    Posté par . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    L'ui doit remonter une information à l'utilisateur pour lui indiquer que quelque chose s'est mal passée. Tu peux te contenter d'un catch all laissant un message laconique, ou essayer d'être plus fin et donner des information utile.

    Enfin on parle de IOException, ça peut surtout être un FileNotFoundException.

    Et ça typiquement, c'est le truc que tu peux filer à l’utilisateur qui vient de sélectionner le fichier, avec une localisation qui va bien; à la rigueur avec un petit message explicatif que le fichier à été déplacé ou supprimé depuis qu'il a cliqué.

    Pareil si c'est un soucis d'encodage du fichier ou du format qui n'est pas le bon, c'est l'utilisateur qui à la main sur ce qu'il donne. Si y a un problème de verrou sur le fichier c'est encore lui qui sait quel fichier il peut fermer.

    Alors on peut lui filer un ApplicationException, avec le code du message qui va bien pour le traduire au moment de l'afficher, mais si tu avais prévu de faire des actions différente en fonction de l'erreur tu dois recréer une exception par type que tu veux traiter différemment.

    Et puis la fois où tu veux réutiliser des fonctions qui ont encapsulé les erreurs, mais que tu te rends compte qu'il faut en fait en spécialiser une tu te retrouves à toucher ton ancien bout de code qui n'a rien à voir avec ton évol.

    Alors évidemment tu peux dire que toutes tes fonctions te renvoient une GeneralException, mais au final ça ne donne aucune information.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent