You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
when deserialize data to an entity with an enum attribute and data contains an invalid enum 's value, the serializer throws InvalidArgumentException which is a logic exception.
This is not a program logic error so InvalidArgumentException is not correct.
InvalidArgumentException is very a common exception so catching it is very difficult. A programmer must test the exception's message if an other logic exception have to be threw and logged.
For example, when deserialize a wrong date format then NotNormalizableValueException is thrown. For a programmer these situations are equal.
Example
enum MyEnum: int
{
case A = 0;
case B = 1;
}
class MyEntity
{
publicMyEnum$myEnum;
}
$entity = $serializer->deserialize('{"myEnum":2}', MyEntity::class, 'json')