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 Forms Discussion :

Gérer les exceptions d'un Background worker


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de Nixar
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 302
    Par défaut Gérer les exceptions d'un Background worker
    Bonjour,
    Je souhaite gérer les exceptions d'un BackGroundWorker qui sert à uploader des fichiers sur un FTP. Le code de ma méthode "work" de mon BGW est comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try
    {
    ConnexionFTP();
    while(Queue.Count > 0)
    {
    UploadFTP();
    }
    }
    catch(Exception exc)
    {
    // Mon traitement de l'exception
    }
    Sauf que quand ca plante (ca arrive parfois, la connexion est toute relative chez Free...) J'aimerai pouvoir relancer le BGW. Comme l'exception est dans le thread du BGW et pas dans le thread du programme principal, je ne sais pas comment faire...

    J'espère être clair.

    Merci de vos réponses.

    Nixar

  2. #2
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    J'aurai tendance à gérer l'erreur de connexion dans la méthode dédiée à la connexion, avec quelque chose de ce genre par exemple
    Code : 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
    private bool ConnectionFtp()
    {
       bool result = false;
     
       try 
       {
            // Ouverture de la connexion
            result = true;
       }
       catch (Exception ex)
       {
           // Log de l'erreur si besoin        
       }
     
       return result;
    }
    Et ensuite le grand classique de la boucle pour essayer de se connecter
    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    private void DoWork()
    {
        int connectionTry = 0;
        while(!ConnexionFtp())
        {
            if (++connectionTry > 5) 
            { 
                // Nombre de tentatives trop important. On arrête.
                return;
            }
        }
     
        try
        {
            while(Queue.Count > 0)
            {
                UploadFtp();
            }
        }
        catch(Exception ex)
        {
            // Mon traitement de l'exception
        }
        finally
        {
            // Fermeture de la connexion
        }
    }

Discussions similaires

  1. Gérer les Exceptions
    Par Fred2209 dans le forum C++
    Réponses: 10
    Dernier message: 04/12/2006, 22h06
  2. Gérer les exceptions de download avec idHTTP
    Par PimpW dans le forum Delphi
    Réponses: 2
    Dernier message: 17/08/2006, 10h23
  3. gérer les exceptions sur les constructeurs?
    Par LESOLEIL dans le forum Général Java
    Réponses: 9
    Dernier message: 15/03/2006, 10h46
  4. gérer les exception
    Par st0nky dans le forum Langage
    Réponses: 10
    Dernier message: 29/11/2005, 19h00
  5. [C#/SQL] Comment gérer les exceptions d'une Procédure stockée ?
    Par thomas_strass dans le forum Accès aux données
    Réponses: 10
    Dernier message: 06/07/2005, 10h40

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