python – 在烧瓶中,我应该手动捕获视图中的所有可能错误吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 在烧瓶中,我应该手动捕获视图中的所有可能错误吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1092字,纯文字阅读大概需要2分钟。
内容图文
![python – 在烧瓶中,我应该手动捕获视图中的所有可能错误吗?](/upload/InfoBanner/zyjiaocheng/803/7d75750e571b4649b2fc955229413f14.jpg)
我是Flask的新手,在编写视图时,如果应该捕获所有错误,我会徘徊.如果我这样做,大多数视图代码应该包含try … except.我认为这不是优雅的.
例如.
@app.route('/')
def index():
try:
API.do()
except:
abort(503)
我应该像这样编码吗?如果没有,服务会崩溃(uwsgi lnmp)吗?
解决方法:
你只能抓住你能处理的东西. “句柄”一词意味着“做一些有用的事情”而不仅仅是“打印消息而死”.打印和骰子已经由异常机制处理,并且可能比你更好.
例如,这不是有用的处理异常:
denominator = 0
try:
y = x / denominator
except ZeroDivisionError:
abort(503)
你无能为力,中止是多余的,因为无论如何,未被捕获的异常将导致发生.以下是有用处理的示例:
try:
config_file = open('private_config')
except IOError:
config_file = open('default_config_that_should_always_be_there')
但请注意,如果第二次打开失败,没有任何用处,它会向上移动调用堆栈并可能暂停程序.你永远不应该做的是除了:因为它隐藏了有关故障的信息.当你得到“所有它说的是503”的缺陷报告并且你不知道API.do()中出了什么问题时,这会导致很多人头疼.
尝试/除了无法进行任何有用处理的块会使代码混乱并在视觉上掩盖主要的执行流程.没有异常的语言会强制您检查每次调用错误返回,如果只是为了生成错误返回自己.部分存在例外以消除代码噪声.
内容总结
以上是互联网集市为您收集整理的python – 在烧瓶中,我应该手动捕获视图中的所有可能错误吗?全部内容,希望文章能够帮你解决python – 在烧瓶中,我应该手动捕获视图中的所有可能错误吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。