考虑以下 Python 异常:
因为在Unix系统上,exceptions模块中甚至没有定义WindowsError,所以那种方法行不通。 有没有一种优雅的方式来处理这个错误?
[...]
f.extractall()
File "C:\Python26\lib\zipfile.py", line 935, in extractall
self.extract(zipinfo, path, pwd)
File "C:\Python26\lib\zipfile.py", line 923, in extract
return self._extract_member(member, path, pwd)
File "C:\Python26\lib\zipfile.py", line 957, in _extract_member
os.makedirs(upperdirs)
File "C:\Python26\lib\os.py", line 157, in makedirs
mkdir(name, mode)
WindowsError: [Error 267] The directory name is invalid: 'C:\\HOME\\as\
\pypm-infinitude\\scratch\\b\\slut-0.9.0.zip.work\\slut-0.9\\aux'
我希望处理这个特定的异常 - 即,错误号为267的WindowsError。然而,我不能简单地执行以下操作:
try:
do()
except WindowsError, e:
...
因为在Unix系统上,exceptions模块中甚至没有定义WindowsError,所以那种方法行不通。 有没有一种优雅的方式来处理这个错误?