python - 在 if-else 块中使用 try-except
问题描述
我正在尝试在 Python 2.7 中执行以下操作:
if condition_a:
try:
b = func_1()
except:
b = func_2()
else:
b = func_2()
有没有更好的方法来写这个避免b = func_2()
两次行?我想说的是,如果在 try 块中引发了异常,我们应该转到 else 块中的逻辑。
解决方案
不是我最引以为豪的代码,但没有更多上下文,我想不出更干净的代码:
is_b_set = False
if condition_a:
try:
b = func_1()
is_b_set = True
except:
# handle/log exception properly
pass
b = func_2() if not is_b_set else b
推荐阅读
- wordpress - 将 URL 重定向到 Lighthouse/Wordpress 中的另一个 URL
- css - 如何在 Angular 中动态切换样式?
- jmeter - How to analyze jmeter dashboard report,any open source tool or framework available which helps in analyzing JMeter Dashboard reports after test run?
- java - 当应用程序通过设备运行时,适配器不显示项目
- elasticsearch - FilterAggregationBuilder 类型中的方法 filter(FilterBuilder) 不适用于参数 (BoolQueryBuilder)
- vim - 添加 .vimrc 后 vim81 配置错误
- reactjs - Redux 表单从状态初始化表单
- html - 一种 CSS 样式仅适用于本地主机而不适用于服务器托管
- javascript - 在Javascript中调用带参数的函数和OnClick触发不带参数的函数之间的区别?
- php - 使用 Phalcon 登录 Facebook 中的重定向过多