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

Windows Discussion :

_except & _try


Sujet :

Windows

  1. #1
    Membre du Club Avatar de Array
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 210
    Points : 55
    Points
    55
    Par défaut _except & _try
    Bonjour,

    Je débute en ce qui est du C++ et de ses nouveautés.
    J'essaie de compiler un code vrm très simple sous PGI Workstation (pgcpp), et il me donne un msg d'erreur...

    Citation Envoyé par pgcpp
    At line 2: error: expected a statement.
    Le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int main(void) {
    	_except(1) {       // ERREUR!!!
    		return 0;
    	}
    
    	_try
    	{
    		return 1;
    	}
    }
    C'est peut-être une question vrm très stupide, alors... tolérance s.v.p

    @+
    Array

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Pour moi, cette structure n'est pas valide: C'est le __try en premier.

    Aussi, à ma connaissance, il faut deux underscores. Mais peut-être que ça passe aussi avec un seul.

    Typiquement on fait ceci:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <stdio.h>
    #include <stddef.h>
     
    int main(void) {
    	__try {
    		int a=42, b=0;
    		a /= b;
    	}
    	__except((GetExceptionCode() == EXCEPTION_INT_DIVIDE_BY_ZERO)
    	 ? EXCEPTION_EXECUTE_HANDLER
    	 : EXCEPTION_CONTINUE_SEARCH) {       // ERREUR!!!
    		puts("Division par zero!");
    		return EXIT_FAILURE;
    	}
    	return EXIT_SUCCESS
    }
    PS: Je rappelle qu'il ne s'agit pas là de gestion d'exceptions C++, mais de Gestion d'Exceptions Structurée (SEH) de Windows.

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