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)