Skip to main content
 首页 » 编程设计

python之如果函数抛出异常则不返回是不好的做法吗

2025年05月04日9tuyile006

<分区>

我有一些用于驱动硬件设置的软件配置的计算函数。在某些情况下,用户可能会输入无效的配置值。我通过在使用无效值时抛出异常来处理这个问题,或者在配置有效时简单地返回我的计算值:

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 代码,同时仍然满足我的计算方法的需要。