replaced throw_error with throw_exception
wrote tests for ValidationFailedForTypeConstraint
wrote ValidationFailedForTypeConstraint