python shutil.rmtree打印错误(如果有)
它打印“Deleting c:\temp\metabuild”,但既不打印任何错误也不打印“Delete complete”,显然rmtree失败了,但希望它打印错误,是否“raise”打印错误或否?提前谢谢 “raise”会打印错误是什么还是否 否,python shutil.rmtree打印错误(如果有),python,Python,它打印“Deleting c:\temp\metabuild”,但既不打印任何错误也不打印“Delete complete”,显然rmtree失败了,但希望它打印错误,是否“raise”打印错误或否?提前谢谢 “raise”会打印错误是什么还是否 否,raise所做的只是重新引发异常,就好像您一开始没有捕获到它一样。特别是,该代码: if os.path.exists(temp_dir): print "Deleting ", temp_dir try: shut
raise
所做的只是重新引发异常,就好像您一开始没有捕获到它一样。特别是,该代码:
if os.path.exists(temp_dir):
print "Deleting ", temp_dir
try:
shutil.rmtree(temp_dir)
except:
raise
print "Delete complete"
…保证执行与以下相同的操作(只是速度稍慢,可读性稍差):
如果异常最终传播到顶层而不在任何地方处理,Python将打印回溯并退出。但是,如果链上的任何地方有其他代码处理异常,它可以做任何它想做的事情
如果要打印出异常,必须显式地这样做。例如:
shutil.rmtree(temp_dir)
如果您想要的信息多于print(e)
或print(repr(e))
提供的信息,请参阅库,该库具有各种检索或转储异常及其回溯信息的功能。特别是,要获得与在顶层发生时相同的输出,请执行以下操作:
try:
shutil.rmtree(temp_dir)
except Exception as e:
print(e)
raise
因为print\u exc
直接从Python的内脏中获取异常对象和其他信息,所以您实际上不需要异常,除非异常为e:
;您可以只使用异常除外:
或异常除外:
“raise”会打印错误是什么还是否
否,raise
所做的只是重新引发异常,就好像您一开始没有捕获到它一样。特别是,该代码:
if os.path.exists(temp_dir):
print "Deleting ", temp_dir
try:
shutil.rmtree(temp_dir)
except:
raise
print "Delete complete"
…保证执行与以下相同的操作(只是速度稍慢,可读性稍差):
如果异常最终传播到顶层而不在任何地方处理,Python将打印回溯并退出。但是,如果链上的任何地方有其他代码处理异常,它可以做任何它想做的事情
如果要打印出异常,必须显式地这样做。例如:
shutil.rmtree(temp_dir)
如果您想要的信息多于print(e)
或print(repr(e))
提供的信息,请参阅库,该库具有各种检索或转储异常及其回溯信息的功能。特别是,要获得与在顶层发生时相同的输出,请执行以下操作:
try:
shutil.rmtree(temp_dir)
except Exception as e:
print(e)
raise
因为print\u exc
直接从Python的内脏中获取异常对象和其他信息,所以您实际上不需要异常,除非异常为e:
;您可以只使用异常除外:
或异常除外:
“raise”会打印错误是什么还是否
否,raise
所做的只是重新引发异常,就好像您一开始没有捕获到它一样。特别是,该代码:
if os.path.exists(temp_dir):
print "Deleting ", temp_dir
try:
shutil.rmtree(temp_dir)
except:
raise
print "Delete complete"
…保证执行与以下相同的操作(只是速度稍慢,可读性稍差):
如果异常最终传播到顶层而不在任何地方处理,Python将打印回溯并退出。但是,如果链上的任何地方有其他代码处理异常,它可以做任何它想做的事情
如果要打印出异常,必须显式地这样做。例如:
shutil.rmtree(temp_dir)
如果您想要的信息多于print(e)
或print(repr(e))
提供的信息,请参阅库,该库具有各种检索或转储异常及其回溯信息的功能。特别是,要获得与在顶层发生时相同的输出,请执行以下操作:
try:
shutil.rmtree(temp_dir)
except Exception as e:
print(e)
raise
因为print\u exc
直接从Python的内脏中获取异常对象和其他信息,所以您实际上不需要异常,除非异常为e:
;您可以只使用异常除外:
或异常除外:
“raise”会打印错误是什么还是否
否,raise
所做的只是重新引发异常,就好像您一开始没有捕获到它一样。特别是,该代码:
if os.path.exists(temp_dir):
print "Deleting ", temp_dir
try:
shutil.rmtree(temp_dir)
except:
raise
print "Delete complete"
…保证执行与以下相同的操作(只是速度稍慢,可读性稍差):
如果异常最终传播到顶层而不在任何地方处理,Python将打印回溯并退出。但是,如果链上的任何地方有其他代码处理异常,它可以做任何它想做的事情
如果要打印出异常,必须显式地这样做。例如:
shutil.rmtree(temp_dir)
如果您想要的信息多于print(e)
或print(repr(e))
提供的信息,请参阅库,该库具有各种检索或转储异常及其回溯信息的功能。特别是,要获得与在顶层发生时相同的输出,请执行以下操作:
try:
shutil.rmtree(temp_dir)
except Exception as e:
print(e)
raise
因为
print\u exc
直接从Python的内脏中获取异常对象和其他信息,所以您实际上不需要异常,除非异常为e:
;您可以只使用异常除外:
或异常除外:
A尝试:
/异常除外:raise
不做任何事情(除了使代码更详细和稍微慢一点)。你的意思是,“如果有任何异常,让我来处理它,而不是引发它,通过以与它本来相同的方式引发它。”那么…你在那里试图做什么呢?A尝试:
/除了:raise
什么都不做(除了让你的代码更加冗长和稍微慢一点)。你的意思是,“如果有任何异常,让我来处理它,而不是引发它,通过以与它本来相同的方式引发它。”那么…你在那里试图做什么呢?A尝试:
/除了:raise
什么都不做(除了让你的代码更加冗长和稍微慢一点)。你是说,“如果有任何例外,让我来处理它,而不是提出它,通过以同样的方式提出它。”那么…你想做什么