首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在函数中引发异常还是返回无?

在函数中引发异常还是返回无?
EN

Stack Overflow用户
提问于 2009-08-22 03:28:20
回答 2查看 49.9K关注 0票数 91

在Python中的用户定义函数中,哪个是更好的实践:raise、exception还是return None?例如,我有一个在文件夹中查找最新文件的函数。

代码语言:javascript
复制
def latestpdf(folder):
    # list the files and sort them
    try:
        latest = files[-1]
    except IndexError:
        # Folder is empty.
        return None  # One possibility
        raise FileNotFoundError()  # Alternative
    else:
        return somefunc(latest)  # In my case, somefunc parses the filename

另一种选择是保留异常并在调用者代码中处理它,但我认为处理FileNotFoundError比处理IndexError更清楚。或者使用不同的名称重新引发异常是不好的形式吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1313812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档