afaik 使用异常来处理代码流是错误的。我正在编写一个具有名为 getEntity(id) 的方法的代码,当找不到实体时,getEntity 会抛出一个 DoesNotExist 异常。没有 entityExists(id) 方法。要检查实体是否存在,代码通常会:
try:
getEntity(id)
catch DoesNotExist as e:
# entity does not exist
在我看来,这会更好:
if not entityExists(id):
# entity does not exist
这个^是常识吗?我认为代码是这样的,因为它使用 Django 并且它正在复制 Django 异常名称 (DoesNotExist) 及其处理实体不存在的常用方法。
这个问题并非特定于 Python,但我作为示例使用的代码是在 Python 中,因此我用 Python 标记了这个问题。