我正在使用python 3中以python 2语法编写的代码。
该代码具有正确的库,并且一切正常,但这给了我一个错误:
except Exception, _hx_e:
_hx_e1 = _hx_e.val if isinstance(_hx_e, _HxException) else _hx_e
e = _hx_e1
tmp = None
是否可以使用此,
python 2注释代替python 3中的as
?
答案 0 :(得分:0)
旧语法不再有效。
在Python 2中,用于捕获异常的语法为,但 ExceptionType:,或者 ExceptionType除外,目标: 对象是需要的。 ExceptionType 可以是一个元组,例如, (TypeError,ValueError)除外:。
这可能会导致难以发现的错误:命令(除了TypeError, ValueError:(注意,没有括号)只能处理 TypeError 。它 还将异常对象分配给名称 ValueError , 遮盖内置的。
为解决此问题,Python 2.6引入了另一种语法: except ExceptionType作为目标:。 在Python 3中,旧语法不再 允许 。
您将需要切换到新语法。推荐的定影液有效 非常可靠,它还解决了迭代异常问题 如下所述。