使用自定义异常或使用 ValueError 哪个更好

Which is better using custom exceptions or using ValueError

对于开发者和用户???哪一个更好 ?像这样定义一个新的自定义错误:

def Passed_Empty_Text(Exception):
    def __str__(self):
        return 'Empty String Passed'
raise Passed_Empty String
# And More Exceptions

或使用:

 raise ValueError('Passed Empty String')

哪个更好??

两个:)

继承自 ValueError 并为您的异常指定一个有意义的名称。

class EmptyError(ValueError):
    ...

现在您可以在需要时获得更具体的 ValueError。这是否真的增加了 user/developer-friendliness 取决于个人品味和更大的背景。