Filter\FilterFailedException is thrown when a validation filter fails and FILTER_THROW_ON_FAILURE is set.
<?php
try {
$email = filter_var(
'not an email',
FILTER_VALIDATE_EMAIL,
FILTER_THROW_ON_FAILURE
);
} catch (Filter\FilterFailedException $e) {
echo "The value did not pass validation.\n";
}
This exception represents validation failure, not an unknown filter. If the filter ID itself comes from a name or configuration, check it separately before calling filter_var():
<?php
$filter = filter_id('validate_email');
if ($filter === false) {
throw new InvalidArgumentException('Unknown filter.');
}
try {
$email = filter_var(
'not an email',
$filter,
FILTER_THROW_ON_FAILURE
);
} catch (Filter\FilterFailedException $e) {
echo "The value did not pass validation.\n";
}