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

VB.NET Discussion :

Try en cascade


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Par défaut Try en cascade
    Bonjour,

    Y aurait'il quelques chose de plus propre que ca ? (je n'ai rien trouvé sur le net)
    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
     
                   Try                
                   m.all.Item("Login").Value = Username.ToLower
                   Catch ex As Exception
                        Try
                            m.all.Item("loginForm:login").Value = Username()
                         Catch ex1 As Exception
                            Try
                                m.all.Item("ui_Login_UserName").Value = Username()
     
                            Catch ex2 As Exception
                                Try
                                    m.all.Item("plog).Value = Username()
                                Catch ex3 As Exception
     
                                End Try
                            End Try
                        End Try
                    End Try
    Merci.

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    je sais pas quels objets/accesseurs tu utilises mais ne serait-il pas plus malin de vérifier que m.all.Item("id") te renvoie quelque chose,
    plutôt que d'accéder à son attribut Value en attendant une éventuelle exception ?

  3. #3
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Oh que oui il y a mieux, si je ne me trompe pas, tu teste l'existence de certains Items...
    Alors testons les avant de les utiliser :

    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
    If  not m.all.Item("Login") Is Nothing Then 
           m.all.Item("Login").Value = Username.ToLower
     
    Else If not m.all.Item("loginForm:login") Is Nothing Then 
           m.all.Item("loginForm:login").Value = Username()
     
    Else If not m.all.Item("ui_Login_UserName") Is Nothing Then 
           m.all.Item("ui_Login_UserName").Value = Username()
     
    Else If not m.all.Item("plog") Is Nothing Then 
           m.all.Item("plog").Value = Username()
     
    Else 
          Throw new Exception ("Probleme")
     
    End If

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Par défaut
    Aussi simple que ça. J'y ai même pas pensé.

    Cela fonctionne très bien, merci mactwist69 .
    Pour répondre à jopopmk , le parent, c'est Document de internet.application.

    Je clos le sujet.

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Citation Envoyé par mennix Voir le message
    Aussi simple que ça. J'y ai même pas pensé.

    Cela fonctionne très bien, merci mactwist69 .
    Pour répondre à jopopmk , le parent, c'est Document de internet.application.

    Je clos le sujet.
    Pas besoin de me répondre ^^, mon message (qui a la même teneur que celui de mactwist sauf qu'il faut te démerder pour le coder toi-même) n'avait pas besoin de ces précisions. C'était plus une mise en perspective supplémentaire.

    Bon dev

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 102
    Par défaut
    Je ré-ouvre le sujet.
    en prenant exemple,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Not m.all.Item("ok") Is Nothing Then
                        m.all.Item("ok").Click()
                    ElseIf Not m.all.Item("ui_Login_LoginButton") Is Nothing Then
                        m.all.Item("ui_Login_LoginButton").Click()
                    ElseIf Not m.all.Item("html:body:login:loginForm:loginButtonBlock:validButton") Is Nothing Then
                        m.all.Item("html:body:login:loginForm:loginButtonBlock:validButton").Click()
                    End If
    le pere de m est le document d'une page web via internet.application.
    En gros, je simule le click sur un bouton, ou je connais pas au depart, la page web ou l'utilisateur sera (3 pages max) donc 3 noms de bouton differents.


    La redondance du texte, me gene alors j'ai ecris cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
         Dim valideClick = "ok,ui_Login_LoginButton,html:body:login:loginForm:loginButtonBlock:validButton"
     
                    For Each Cmd In valideClick.Split(",")
                        If Not m.all.Item(Cmd) Is Nothing Then m.all.Item(Cmd).Click() : Exit For
                    Next
    et la, ca ne marche plus. j'ai essayé de nommé ValideClick par string ou objet, mais ca ne fonctionne pas, je pense que cela vient du type de ma variable cmd.
    Là je coince.

  7. #7
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    J'ai jamais essayé un truc comme ça, mais de toute façon, il faut toujours typer fortement... Même dans les boucles.

    Pour typer dans la boucle, il faut ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    Dim valideClick = "ok,ui_Login_LoginButton,html:body:login:loginForm:loginButtonBlock:validButton"
     
                    For Each Cmd As String In valideClick.Split(",")
                        If Not m.all.Item(Cmd) Is Nothing Then m.all.Item(Cmd).Click() : Exit For
                    Next
    Mais aucune idée de si ça marche

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

Discussions similaires

  1. peut-on cascader les Try..except ?
    Par clavier12AZQSWX dans le forum Général Python
    Réponses: 2
    Dernier message: 07/03/2014, 08h09
  2. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 10h00
  3. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 21h25
  4. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 11h19
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 09h43

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