[英]Python Continue with execution in case of exception
盡管存在異常,我仍在嘗試繼續使用我的代碼。 只需打印異常並繼續代碼。
下面是示例:
def mkdir(path):
mypath = "./customers/"+path
print(mypath)
try:
os.makedirs(mypath)
except OSError as exc:
if exc.errno == errno.EEXIST and os.path.isdir(mypath):
pass
if __name__ == '__main__':
item = 'dev'
mkdir(item)
print("Done")
但它從不打印完成。
控制台 OutPut
./customers/dev
---------------------------------------------------------------------------
FileExistsError Traceback (most recent call last)
<ipython-input-45-3ce58775d916> in mkdir(path)
4 try:
----> 5 os.makedirs(mypath)
6 except OSError as exc:
/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/os.py in makedirs(name, mode, exist_ok)
220 try:
--> 221 mkdir(name, mode)
222 except OSError:
FileExistsError: [Errno 17] File exists: './customers/dev'
During handling of the above exception, another exception occurred:
NameError Traceback (most recent call last)
<ipython-input-45-3ce58775d916> in <module>
10 if __name__ == '__main__':
11 item = 'dev'
---> 12 mkdir(item)
13 print("Done")
<ipython-input-45-3ce58775d916> in mkdir(path)
5 os.makedirs(mypath)
6 except OSError as exc:
----> 7 if exc.errno == errno.EEXIST and os.path.isdir(mypath):
8 pass
9
NameError: name 'errno' is not defined
請提供任何幫助
需要導入 errno 模塊。
errno 模塊定義了許多符號錯誤代碼
你忘了import errorno
import os
import errno
def mkdir(path):
mypath = "./customers/" + path
print(mypath)
try:
os.makedirs(mypath)
except OSError as exc:
print(exc.errno)
if exc.errno == errno.EEXIST and os.path.isdir(mypath):
pass
if __name__ == '__main__':
item = 'dev'
mkdir(item)
print("Done")
做就是了:
except OSError:
pass
或except Exception
到 except all exceptions(盡管不理想)。 您正在嘗試使用不導入的模塊(我認為您不需要為此腳本導入 errno)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.