Closed
Description
I think the exceptions are defined wrong because they don't respect the meaning of runtime vs logic exception.
- OptionDefinitionException is obviously a logic exception because it happens with a code problem and should extend \BadMethodCallException
- InvalidOptionsException (as thrown by resolve()) is a runtimeexception and should extend \UnexpectedValueException
- MissingOptionsException is also runtimeexception and should extend \UnexpectedValueException
- setAllowedValues() and similar run validateOptionsExistence() and also throw a InvalidOptionsException. Instead it should be a OptionDefinitionException because its a code problem when defining options and not a runtime exception.
- OptionsResolverInterface::setNormalizers is missing an
@throws