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

GTK+ avec C & C++ Discussion :

Comment traiter les GError **error ?


Sujet :

GTK+ avec C & C++

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut Comment traiter les GError **error ?
    Bonsoir

    Le titre est ma question complète...
    J'aimerais savoir comment on peut utiliser les GError **error ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par troumad
    Bonsoir

    Le titre est ma question complète...
    J'aimerais savoir comment on peut utiliser les GError **error ?
    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    GError * p_err = NULL;
    GIOChannel * p_file = NULL;
     
    p_file =  g_io_channel_new_file ("fichier.txt", "r", & p_err);
     
    if (p_file == NULL)
    {
       /* Affichage du message d'erreur standard : */
       g_printf ("%s\n", p_err->message);
       g_error_free (p_err);
    }
    Il faut surtout pas oublier de libérer la structure d'erreur après utilisation comme dans l'exemple
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 597
    Points : 7 832
    Points
    7 832
    Par défaut
    Merci !

    J'avais déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GError ** p_err = NULL;
    Il faut donc réserver la place avant l'appel

    Il me reste donc à trouver comment arrêter un programme prématurément sans générer une erreur du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (pendu:10061): GdkPixbuf-CRITICAL **: gdk_pixbuf_composite: assertion `src != NULL' failed
    aussi

    nb : je n'ai pas trouvé ça dans la FAQ. Il y a même une entrée erreur dans celle de gtk. Ton message mériterait d'y être !
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par troumad
    J'avais déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GError ** p_err = NULL;
    Il faut donc réserver la place avant l'appel
    Ouais c'est une erreur que beaucoup de personnes font mais les fonctions prennent en paramètre un pointeur de pointeur uniquement pour qu'on puisse transmettre l'adresse de l'objet et non directement un pointeur

    Citation Envoyé par troumad
    nb : je n'ai pas trouvé ça dans la FAQ. Il y a même une entrée erreur dans celle de gtk. Ton message mériterait d'y être !
    Oui effectivement, ca ne semble pas y être, je vais de ce pas proposer ce petit code
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment traiter les données reçues avec WinSock ?
    Par Shredder dans le forum Web & réseau
    Réponses: 3
    Dernier message: 01/10/2007, 13h54
  2. Comment traiter les espaces dans le nom du fichier
    Par maban dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/08/2007, 20h25
  3. [GD] Comment traiter les yeux rouges ?
    Par Roromix dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 04/06/2007, 12h38
  4. [VB.NET] Page Edition, comment traiter les <br?
    Par zigoto dans le forum ASP.NET
    Réponses: 12
    Dernier message: 08/02/2005, 17h05

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