如果我想冒泡一般的异常,我在python中做什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如果我想冒泡一般的异常,我在python中做什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1523字,纯文字阅读大概需要3分钟。
内容图文
![如果我想冒泡一般的异常,我在python中做什么?](/upload/InfoBanner/zyjiaocheng/748/a24c039b723f4a9c840c693adee78c74.jpg)
所以,假设我有这个python代码:
def loopForEachFileInDirectory(self, conn):
for filename in os.listdir(uploadedFilesDirectory):
try:
self.insertNewEntryForStagingFile(conn, filename)
self.copyFilesToStagingDirectory(filename)
except: ???
def copyFilesToStagingDirectory(self, filename):
logging.info("copying %s to youtube_ready",filename)
try:
shutil.copy(uploadedFilesDirectory+filename, stagingDirectory)
logging.info("move successful")
except shutil.Error,e:
logging.warn("move failed for reasons \n\t%d:%s", e.args[0],e.args[1])
raise ???
现在,“loopForEachFileInDirectory”方法将会有更多的方法 – 我在这里做了一些干净的编码(欢呼Robert Martin).我想要的是从子方法中冒出任何异常,如果在主循环中发生任何事情,请在该循环上保释并继续.
问题是,冒泡一般异常的规则是什么?我只是自己筹集资金吗?如果是这样,我如何一般地抛出一个异常,我如何捕获并记录一般异常的细节?
解决方法:
what is the rule for bubbling up a generic exception? Do i just raise on its own?
是.简短的回答是使用加注.
And if so, how do i generically throw an exception…
上面回答的其他提交者发布的内容是正确的,但它没有提供太多的上下文方式.
异常是基类异常.除了Exception适用于所有类型的
异常,因为所有Python异常都从此类继承.
except语句可以指定指向异常对象的参数.
在这种情况下,我不认为指定它是绝对必要的.实际上,使用默认值冒出异常可能就足够了:
except:
raise
没有任何实际需要指定异常类型或引用特定异常对象的变量.
..and how do i catch and log the details of a generic exception?
logging.exception是一个很好的方法.试试吧:
try:
<something that raises an error>
except Exception, e:
logging.exception(e)
内容总结
以上是互联网集市为您收集整理的如果我想冒泡一般的异常,我在python中做什么?全部内容,希望文章能够帮你解决如果我想冒泡一般的异常,我在python中做什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。