这个问题涵盖了广泛的编程语言;但是,在这种情况下,我特别使用Python。
我想创建一些用户定义的异常,但我不确定它们应该是多么精细。例如,如果我有以下类:
class Race(object):
def __init__(self, start_time, end_time):
if end_time < start_time:
raise WhatToNameThisError
self._start_time = start_time
self._finish_time = end_time
如果完成时间发生在开始时间之前,我想提出异常,但我可以调用它吗?
我确信还有其他方法可以查看此内容,因此有更多选项来命名异常。是否有任何标准或指导方针可以概述这一点?
答案 0 :(得分:6)
我认为在这种情况下内置的ValueError可能是合适的。来自Python文档:
异常ValueError
提起时 内置操作或功能 接收有一个参数 正确的类型,但不恰当的价值, 而且情况没有描述 一个更精确的例外,例如 IndexError。
答案 1 :(得分:1)
我尝试尽可能使用适当的内置异常。在Java和C#等语言中,例外列表非常强大,您很少找到自己需要定义的列表。我不太熟悉Python的例外列表,但是IIRC至少有一些非常普遍的好的。