在python中命名不是唯一的结果错误?

时间:2011-06-12 23:41:34

标签: python exception naming-conventions

也许这是一个非常规的问题,但我想听听它的答案。由于英语不是我的母语,我以为我会要求第二意见。

我想在python中引发一个错误,并想知道如何命名它。

class AmbiguousResultError(Exception): pass
class NoResultFoundError(Exception): pass

def getUrlFor(mystring):
    list_of_urls = []
    # parse url object for all matching urls for the given string
    # and add them to list_of_urls
    if len(url) > 1:
        raise AmbiguousResultError("More then one url matches for {0}".format(mystring))
    elif not url:
        raise NoResultFoundError("There was no matching url for {0}".format(mystring))
    else:
        return list_of_urls[0]

第一个raise是我想知道的,如何命名它是精确的。我想到了

  1. NoUniqueResultFoundError
  2. AmbiguousResultError
  3. UncertainResultError
  4. 但是他们都不满足我,我不知道我是否用这个名字命中了。对其他人来说也应该是显而易见的。必须有一个特定的表达方式。哪一个。我想在english.stackexchange.com上问它,但我认为程序员还有另一种思维方式,而不是语言学家。

1 个答案:

答案 0 :(得分:3)

我更喜欢AmbiguousStringErrorAmbiguousResultError。毕竟,这不是具有多重含义的结果,而是用户提供的字符串。

或者可能MultipleResultsFoundError。我认为你对NoUniqueResultFoundError的建议与任何事情一样好。如果您对代码的其余部分一样彻底和周到,那么其他开发人员在调试它时就不会有问题。