1
有谁知道你是否可以在python中捕获os错误。我正在研究映射网络驱动器的脚本。 如果最终用户键入不存在的路径的名称,则不会显示错误,这可能会成为问题。 我正在使用python版本3.6的子进程模块,以及pycharm IDE。 如果我映射到不存在的位置,则会出现以下错误“系统错误53发生,网络路径未找到。”无法捕获子进程操作系统错误
最后,我尝试使用OSError,Exception和BaseException捕获错误。我用过的每一个都不会返回任何错误信息。
这是我正在运行的脚本的一个示例。
def StoreInfo():
receiving = input("Enter receiving: ")
try:
subprocess.call(r'net use y: \\' + receiving + '\\act\\rto\\transent', shell=True) #timeout=30
except OSError:
#print("An unexpected error:" , sys.exc_info()[0])
print(sending+"'s path does not exit!")
StoreInfo()
,那是因为没有蟒蛇错误时抛出提高。 “系统错误53发生了,网络路径没有找到” - 这是windows错误,不是python –
如果你使用'subprocess.check_call',它也应该给你进程的返回代码,大多数情况下以0结束并退出其他数字来表示各种错误条件,但@ YaroslavSurzhikov是正确的,没有提出这个python错误,这就是为什么你不能捕捉它。 –