IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ada Discussion :

Exceptions et informations associées


Sujet :

Ada

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut Exceptions et informations associées
    Dans certains langages, les exceptions sont des types de données ou des objets, comme en Eiffel par exemple (i.e. avec des méthodes polymorphiques associées). C'est bien commode tout de même pour associer des informations ou des stratégies aux exceptions levées.

    En Ada, rien de tel, puisque l'exception y est un concept independant du concept de types de données ou d'objet.

    Je ne dis pas cela pour dénnoncer Ada, et je pense même que Ada fait une trés bonne chose en considérant les exceptions comme un concept à part-entière et totalement indépendant du reste... parce que c'est ce qu'elles sont.

    Je fait ce post parce que cette question mérite d'être posée. C'est une habitude avec d'autres langages que d'associer des informations ou des stratégies aux occurence d'exceptions, dans le type de donnée ou l'objet approprié. Et c'est vrai que c'est tentant.

    La question est la suivante : associez-vous des donnés/objets aux exceptions dans vos programmes Ada ? Si oui, comment le faites-vous ? Ou alors considérez-vous qu'il n'est pas nécéssaire de faire de telles associations pour gérer les erreurs d'execution, parce que vous pensez que les identificateurs d'exception sont suffisant ?

    Tous commentaires sont les bienvenues... surtout ça sent le vécu
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Oui, oui, je vais repondre.

    Citation Envoyé par Hibou57
    La question est la suivante : associez-vous des donnés/objets aux exceptions dans vos programmes Ada ?
    Je n'associe pas de donnees a mes exceptions. C'est peut-etre un tort, mais en general, je tombe dans 2 cas :

    - C'est une erreur que l'on a envisage et qui ne doit pas etre fatale, dans ce cas, on genere un log et on fait le necessaire pour que le systeme continue a vivre sa vie (un exemple qui me vient en tete est la reception d'un message errone de l'exterieur).

    - C'est une erreur dont le systeme ne peut pas sortir indemne et dans ce cas cela finit avec exception + backtrace et un joli crash + coredump.
    Et c'est le core dump qui permet de faire l'analyse de l'etat du systeme au moment fatidique.

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par jc-miranda
    Je n'associe pas de donnees a mes exceptions.
    C'est noté... mais...

    Citation Envoyé par jc-miranda
    - C'est une erreur que l'on a envisage et qui ne doit pas etre fatale, dans ce cas, on genere un log et on fait le necessaire pour que le systeme continue a vivre sa vie (un exemple qui me vient en tete est la reception d'un message errone de l'exterieur)
    Finalement tu associe des informations via le log...

    Mais au passage, j'en profite pour faire un autre commentaire. En dehors du fait qu'un objet possède des méthodes et des données, il est aussi instance d'une classe. Et avec les système ou les instances d'exceptions sont des objets, on peut tester leur classes. Par exemple, on peut tester si la classe d'un objet exception descent de la classe « erreur d'entrée sorte » ou « erreur d'arithmétique ». Mais c'est vrai aussi que dans les fait, ce seul teste ne mène à rien de concret, même s'il peut sembler séduisant en théorie.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

Discussions similaires

  1. Détection des impressions lancées et les informations associées
    Par masterx_goldman dans le forum Windows
    Réponses: 1
    Dernier message: 06/09/2009, 10h55
  2. Exception Additional information: [UnexpectedHttpResponseCode]
    Par almora007 dans le forum Silverlight
    Réponses: 3
    Dernier message: 26/05/2008, 17h04
  3. Réponses: 3
    Dernier message: 14/06/2007, 09h09
  4. Réponses: 3
    Dernier message: 28/02/2007, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo