Я реализовал небольшую библиотеку проверки, которая используется следующим образом:
domain_object.validate()
# handle validation errors in some way ...
if domain_object.errors:
for error in domain_object.errors:
print(error)
validate()
выполняет проверку и заполняет список с именем errors
.
Я знаю из других библиотек валидации, что они бросают исключения, когда валидация выполняется неудачно. Сообщения об ошибках будут передаваться как свойство исключения.
Какой подход лучше? Выгодно ли бросать исключения валидации?