Следующий только относится к языкам, которые имеют контролируемые исключительные ситуации, например, Java:
Иногда метод бросает контролируемую исключительную ситуацию, которую Вы знаете , не произойдет, например, некоторые API Java ожидают имя кодирования как строку и бросают UnsupportedEncodingException, если данное кодирование не будет поддерживаться. Но обычно я передаю литеральный "UTF-8", который я знаю, поддерживается так, я мог теоретически записать пустую выгоду там.
Вместо того, чтобы делать это (пустая выгода) я обычно выдаю универсальное исключение непроверенное, обертывающее "невозможное" исключение, или я даже объявляю класс ImpossibleException, который я бросаю. Поскольку моя теория о том состоянии ошибки, являющемся невозможным, могла бы быть неправильной, и в этом случае я не захочу, чтобы исключение глоталось.
Он выполняется в строке 104 (когда вы вызываете ToList ()).
Скомпилированный query - это запрос, который транслируется в TSQL только один раз во время компиляции, а не каждый раз перед выполнением.
«В строке 104 при преобразовании ToList.»
Что ж, это неверный ответ. Мы вызываем делегат, хранящийся в переменной MyCompiledQuery в строке 101, которая возвращает результат скомпилированного запроса, а не сам запрос.
Это называется отложенным исполнением.
Вы можете прочитать об этом хороший пост здесь .