繁体   English   中英

Python - 干净的代码,没有实现的异常?

[英]Python - Clean Code, no implemented exceptions?

我正在开发一个 API,它允许对 Python dicts 的某个模式进行简单的数据操作。 用户可以传递在这些字典中用作键的参数。 例如:

def get_columns(self, name):
    for ... in self.data[name]:
       ...
    ...

如果 name 不在数据字典中,它应该抛出异常。

我的问题是:我需要添加这样的异常处理吗? dict 会引发 KeyError 本身。 什么是更好的做法?

如果您希望该函数仅抛出KeyError而没有其他任何内容,则无需将其包装在 try except 语句中(这将是多余的,因为无论如何异常都会向上传播调用堆栈)。

如果您希望它具有其他一些行为(例如,跳过 for 循环、返回专门的错误消息、可能返回某种默认值),那么您将需要使用异常处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM