passes($object)) { $success = false; $messages[] = get_class($rule) . ' failed without exception'; } } catch (AccessForbiddenException | RequestValidationException | CriteriaNotFulfilledException $e) { $success = false; $messages[] = $e->getMessage(); } catch (\Exception $e) { $success = false; $messages[] = 'Unexpected error in ' . get_class($rule) . ': ' . $e->getMessage(); } } return new RuleEvaluationResult($success, $messages); } }