This exception is thrown when an invalid value has been passed to an option/value that has validators assigned (manually or through accepts* functions).
Exception is thrown on first validator failure. Validators are run in definition order.
Because this exception extends InvalidArgumentsException, there's no need to catch it explicitly unless needed.
Creates new instance of ValidationException
Validator that caused the error.