python - 在 try/except 上进行分支的良好做法
问题描述
假设我的 python 代码基于 try/except 的结果分支如下:
def(x):
no_errors = False
try:
y = f(x)
no_errors = True
except ZError:
no_errors = False
if no_errors:
do_stuff(y)
else:
do_other_stuff(x)
我的 linter 警告说 y 可能是未定义的。这是不好的做法吗?推荐的修复方法是什么?
解决方案
通常,您不会有这样的代码结构。您将在语句中有else
和/或finally
子句try
。
def f(x):
try:
y = f(x)
except ZError:
do_other_stuff(x)
else:
do_stuff(y)
推荐阅读
- c# - 单击注销按钮时无法到达控制器/操作
- javascript - 有没有办法在不同的滚动点更改不同的图像?
- jquery - 如何使用 JQuery 和 Ajax 将一维数组传递给 php 页面?
- php - 以 Laravel 形式创建对象数组
- keycloak - Keycloak API execute-actions-email 发送 http 电子邮件
- php - 如何在不更改所有者或组的情况下创建或编辑不由 www-data 拥有或分组的文件?
- angular - HTML 显示 ID 而不是名称
- api - 已超出 Youtube 数据 API 配额
- python - 带有整个 df 的布尔索引
- javascript - 如何使用 MongoClient 而无需每次都编写“client.close()”?