J'ai le code Python suivant:
try: pr.update() except ConfigurationException as e: returnString=e.line+' '+e.errormsg
4 Réponses :
Ceci est compatible en arrière:
try: pr.update() except ConfigurationException, e: returnString=e.line+' '+e.errormsg
La syntaxe est certainement compatible avec l'arrière-plan, mais ce n'est pas aussi Transférer i> compatible. Ceci est invalide dans Python 3 et augmente une erreur de syntaxe. Yup, ce n'est pas une erreur d'exécution, mais une erreur de temps compilée qui ne peut pas être attrapée. Voir docs.python.org/library/sys.html#ssys.exc_info/ A> et @ la réponse de Mario-Ruggier ci-dessous
try: pr.update() except ConfigurationException, e: returnString = e.line + " " + e.errormsg
Lire ceci: http://docs.python.org/reference /comPound_stmts.html#the-try-Statement P>
Et ceci: http: //docs.python .org / WhatsNew / 2.6.html # PEP-3110-EXCEPTION-Manipulation-Changements P>
n'utilise pas La syntaxe code> comme code> n'est pas compatible avec précitée car la syntaxe comme code>, utilisez un
, code>. p>
, code> est ambiguë et doit disparaître dans Python 3. P>
Ceci est à la fois compatible en arrière et en avant:
import sys try: pr.update() except (ConfigurationException,): e = sys.exc_info()[1] returnString = "%s %s" % (e.line, e.errormsg)