Python 此验证代码使用的设计模式的名称是什么?

Python 此验证代码使用的设计模式的名称是什么?,python,exception,design-patterns,terminology,Python,Exception,Design Patterns,Terminology,我发现直接在以下异常类中实现验证非常方便: >>> class IsNoneError(ValueError): ... @classmethod ... def validate(cls, value): ... if value is None: ... raise cls ... >>> IsNoneError.validate(1) >>> IsNoneError.valida

我发现直接在以下异常类中实现验证非常方便:

>>> class IsNoneError(ValueError):
...     @classmethod
...     def validate(cls, value):
...         if value is None:
...             raise cls
... 
>>> IsNoneError.validate(1)
>>> IsNoneError.validate(None)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 5, in validate
__main__.IsNoneError
>>类IsNoneError(ValueError):
...     @类方法
...     def验证(cls,值):
...         如果值为“无”:
...             提高cls
... 
>>>IsNoneError.validate(1)
>>>IsNoneError.validate(无)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
验证中第5行的文件“”
__main_uuuu.isnone错误
我要问的模式是在异常类中嵌入验证例程,如果验证失败就会引发异常类。当我试图在代码中使用单一责任原则时,我需要为每一个失败都有一个单独的异常,然后可以由单独的模块将其翻译成任意自然语言的消息。 遵循该模式允许我将所有验证代码放在一个地方

由于没有什么新鲜事,我想有人已经发明了这个异常验证器类模式。那么,它的名字是什么,我可以用它来和其他的蟒蛇学家交谈,让他们理解


另外,这种设计模式有哪些可能的缺点?

最有可能与之相适应,因为您的代码充当了一个角色

与其说它是一种设计模式,不如说它可以归类为

我在.Net空间中使用了一些东西

确实不应该有任何缺点,因为您可以确保代码按预期执行。

事实上,我使用类似(更复杂)的代码进行防御性编程,但我要问的设计模式是由异常类本身实现验证。请看编辑后的问题。