gestion des exceptions – Python try-else – investir sur crypto

Carte de paiement Crypto

Demandez votre Carte de paiement Crypto ici

Recevez 8 € de BTC gratuitement

Inscrivez-vous à CoinBase









Actualité bitcoin


Quelle est l'utilisation prévue de l'option? autre clause de la déclaration try?

Résumé

le autre déclaration fonctionne s'il y a non exceptions et si pas interrompu par un revenir, continuer, ou Pause déclaration.

Les autres réponses manquent cette dernière partie.

De la docs:

L'option autre clause est exécutée si et quand contrôle découle du
  fin
du essayer clause.*

(Bold ajouté.) Et la note de bas de page se lit comme suit:

* À l’heure actuelle, le contrôle «découle de la fin» sauf dans le cas d’une
  exception ou l'exécution d'un revenir, continuer, ou Pause déclaration.

Il nécessite au moins une clause d'exception précédente (voir la grammaire). Donc ce n'est vraiment pas "try-else", c'est "try-sauf-else (-finally)", avec le autre (et enfin) étant facultatif.

Le didacticiel Python explique l'utilisation prévue:

L'instruction try … except a une clause else optionnelle, qui, quand
  présent, doit suivre toutes les clauses sauf clauses. C'est utile pour le code qui
  doit être exécuté si la clause try ne déclenche pas une exception. Pour
  Exemple:

pour arg dans sys.argv[1:]:
    essayer:
        f = ouvert (arg, 'r')
    sauf IOError:
        print 'ne peut pas ouvrir', arg
    autre:
        print arg, 'a', len (f.readlines ()), 'lines'
        f.close ()

L’utilisation de la clause else est préférable à l’ajout de code supplémentaire à
  la clause try, car elle évite de contracter accidentellement une exception
  qui n’a pas été soulevée par le code protégé par l’essai … sauf que
  déclaration.

Si vous gérez une erreur, le autre le bloc ne fonctionnera pas. Par exemple:

def handle_error ():
    essayer:
        soulève RuntimeError ('oups!')
    sauf RuntimeError en tant qu'erreur:
        print ('traité une erreur RuntimeError, pas grave.')
    autre:
        print ('si cela affiche, nous n'avons pas d'erreur!') # n'imprimera pas!
    print ('Et maintenant nous avons quitté le bloc try!') # imprimera!

Et maintenant,

>>> handle_error ()
géré une RuntimeError, pas de problème.
Et maintenant nous avons quitté le bloc try!



Traduit depuis https://stackoverflow.com/questions/855759/python-try-else

Carte de paiement Crypto

Demandez votre Carte de paiement Crypto ici

Recevez 8 € de BTC gratuitement


Inscrivez-vous à CoinBase