【发布时间】:2018-08-31 14:15:09
【问题描述】:
我有一些用于驱动硬件设置的软件配置的计算功能。在某些情况下,用户可能会输入无效的配置值。如果使用了无效值,我会通过抛出异常来处理此问题,或者如果配置有效,则只需返回我的计算值:
def calc_exhale_dur(breath_rate, inh_dur, breath_hold_dur):
"""Calculate exhalation duration.
Args:
breath_rate (float): animal breath rate (br/min)
inh_dur (float): animal inhalation duration (ms)
breath_hold_duration (float): animal breath hold duration (ms)
"""
single_breath_dur = calc_breath_dur(breath_rate)
exhale_dur = single_breath_dur - (inh_dur + breath_hold_dur)
if (inh_dur + breath_hold_dur + exhale_dur) > single_breath_dur:
raise error.ConfigurationError
elif exhale_dur <= 0:
raise error.ConfigurationError
else:
return exhale_dur
这样做是否被认为是不好的做法?如果有一个返回值开始,我是否总是需要有一些有效的返回值?我正在尝试学习如何最好地编写 Pythonic 代码,同时仍然满足我的计算方法的需求。
【问题讨论】:
-
如果抛出异常,返回的意义何在。 ?
标签: python python-3.x