首页技术文章正文

Python2和Python3在处理异常上有哪些区别?

更新时间:2022-05-13 来源:黑马程序员 浏览量:

IT培训班


Python 3版本中的异常处理与Python 2版本主要有以下4点不同:

(1)在Python 2中,所有类型的对象直接被抛出;在Python3中,只有继承自BaseException的对象才可以被抛出。

(2)在Python 2中,捕获异常的语法是“except Exception,err”;在Python 3中,引入了as关键字,捕获异常的语法变更为“exceptException as err”。

(3)在Python 2中,处理异常可以使用“raise Exception,args”或者“raise Exception(args)”两种语法;在Python 3中,处理异常只能使用“raise Exception(args)”。

(4)Python3取消了异常类的序列行为和message属性。Python 2和Python 3处理异常的示例代码如下:

Python 2:

>>> try:
raise TypeError,"类型错误"
..
... except TypeError, error:
print error.message
...
类型错误

Python3:

>>> try:
raise TypeError("类型错误")
...
...except TypeError as error:
print(error)
...
类型错误


以上只列举了Python 2与Python 3的部分区别,更多内容见官方文档https://docs.python.org/3whatsnew/3.0.html。


分享到:
在线咨询 我要报名
和我们在线交谈!