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

MATLAB Discussion :

Reprendre boucle si erreur


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Reprendre boucle si erreur
    Bonjour,

    j'ai une boucle du style


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i = 0:20
        for j= 0:15
            for k = 0:23
     
                blablablbalba
                blablbablaba
     
            end
        end
    end

    J'aimerais faire en sorte que si il y n'importe quel plantage , il refait la boucle en prenant les dernier i, j, k.
    Une idée?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Une méthode un peu brutale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i = 0:20
        for j= 0:15
            for k = 0:23
                try
                    blablablbalba
                    blablbablaba
                end
            end
        end
    end
    A adapter...

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Ok ça à l'air pas mal, en gros si on met sans mettre de , si il se produit un bug, il recommence au niveau des derniers i,j,k,l.. pourquoi penses tu que c'est brutal? Et je ne comprends pas tout à fait ce qu'il fait.. réessaye t il a nouveau de traiter où il y eu une erreur ou laisse t il tomber et passe à la suite? Car si il réessaye à chaque fois mais que le fichier que j'ouvre est éronner, j'aurais, dans ce cas, des messages d'erreurs à l'infini.. (?)

    Merci en tout cas, j'en apprends vraiment tous les jours ici

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Si l'action insérée dans le TRY ne fonctionne pas, MATLAB passe tout simplement à la suite. Donc ici, il continuera la boucle sur k.

    Je dis que c'est brutale car une bonne programmation passe toujours par une gestion rigoureuse des erreurs. Dans ton cas, si tu utilises TRY sans le CATCH, il n'y aura plus de message d'erreur pour t'avertir de la nature du problème. Donc tout ce que tu pourras déduire, c'est uniquement que le programme n'a pas pu s'exécuter correctement. Tu ne pourras pas le corriger efficacement.

    Mais bon, dans ton cas, je ne pense pas que tu en sois à ce stade du développement.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Merci, non en faite j'aimerais mais les messages d'erreurs que j'ai eu sont de diverses natures: impossible d'ouvrir un fichier (erreur fopen), impossible de le le lire en binaire (erreur fseek), problème de copy sur le réseau etc...
    Je dois avouer que ça me soule un peu de faire une commande particulière pour chaque erreur surtout qu'un fichier sur 2 000 000 ne représente rien.

    Encore merci pour ces explications.

  6. #6
    Membre expérimenté
    Inscrit en
    Novembre 2006
    Messages
    236
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 236
    Par défaut
    mets au moins un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    catch ME
    problemes = {problemes ; ME};
    pour stocker les erreurs afin de les quantifier et les analyser ensuite.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Hmm ok c'est fait, merci

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

Discussions similaires

  1. Continuer la boucle aprés erreur
    Par coxman68 dans le forum Langage
    Réponses: 1
    Dernier message: 31/05/2011, 15h36
  2. [XL-2000] Boucle for, erreur de dépassement de capacité
    Par chouki60 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/05/2011, 13h56
  3. interrompre une boucle sur erreur
    Par flyingfr53 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 28/01/2011, 13h15
  4. [VBA-E] Macro boucle for (erreur 424)
    Par vanexq dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/09/2010, 13h58
  5. [XL-2003] Lien DDE et probleme boucle avec Erreur 2023
    Par dev_php51 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/08/2010, 13h45

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