在python2.X中處理pywintypes.error異常,可以使用下標(biāo)獲取錯(cuò)誤碼,代碼如下:
# python2
try:
pass
except pywintypes.error as e:
# (122, 'GetUserProfileDirectory', '傳遞給系統(tǒng)調(diào)用的數(shù)據(jù)區(qū)域太小。')
if e[0] == 122:
pass
在python3.X中處理pywintypes.error異常,使用下標(biāo)獲取錯(cuò)誤碼,會(huì)報(bào)錯(cuò)。錯(cuò)誤為:'error' object is not subscriptable。
這里正確的方式,應(yīng)該是使用winerror屬性獲取錯(cuò)誤碼。
# python3
try:
pass
except pywintypes.error as e:
# (122, 'GetUserProfileDirectory', '傳遞給系統(tǒng)調(diào)用的數(shù)據(jù)區(qū)域太小。')
if e.winerror == 122:
pass