Если вы используете результаты из linq как есть, то вы должны обработать ошибку в коде, который материализует данные. Однако вместо того, чтобы просто возвращать результаты запроса linq напрямую, вы могли бы обернуть его в реализацию IEnumerable вашей собственной конструкции, которая может свободно реализовывать любую обработку ошибок, которая вам нравится. Таким образом, код, который использует IEnumerable, не должен обрабатывать исключение.