Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2017-10-16 | 248 |
5.00
из
|
Заказать работу |
|
|
Состояние определенного присваивания переменной v в ветви потока управления, вызванной оператором break, continue или goto, соответствует состоянию определенного присваивания переменной v в начале оператора.
Операторы throw
Для операции stmt оператора в форме
throw expr;
Состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию определенного присваивания переменной v в начале оператора stmt.
Операторы return
Для операции stmt оператора в форме
return expr;
· Состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию определенного присваивания переменной v в начале оператора stmt.
· Если переменная v является выходным параметром, она должна быть определенно присвоена в одном из следующих случаев:
o после выражения expr;
o либо в конце блока finally конструкции try-finally или try-catch-finally, содержащей оператор return.
Для stmt оператора в форме:
return;
· Если переменная v является выходным параметром, она должна быть определенно присвоена в одном из следующих случаев:
o перед оператором stmt;
o либо в конце блока finally конструкции try-finally или try-catch-finally, содержащей оператор return.
Операторы try-catch
Для stmt оператора в форме:
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
· Состояние определенного присваивания переменной v в начале try-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v в начале catch-block-i (для любой переменной i) соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Переменная v в конечной точке операции stmt считается определенно присвоенной только в том случае, если переменная v определенно присвоена в конечной точке try-block и каждого catch-block-i (для каждой переменной i от 1 до n).
|
Операторы try-finally
Для операции stmt оператора try в форме:
try try-block finally finally-block
· Состояние определенного присваивания переменной v в начале try-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v в начале finally-block соответствует состоянию определенного присваивания переменной v в начале операции stmt.
· Переменная v в конечной точке операции stmt считается определенно присвоенной только при соблюдении по меньшей мере одного из следующих условий:
o переменная v является определенно присвоенной в конечной точке try-block;
o переменная v является определенно присвоенной в конечной точке finally-block.
При переключении потока управления (например, в операторе goto), которое начинается в try-block и завершается за пределами try-block, переменная v также считается определенно присвоенной в такой ветви потока управления, если переменная v является определенно присвоенной в конечной точке finally-block. (Это не единственная возможность — если переменная v является определенно присвоенной по другой причине при таком переключении потока управления, она все еще считается определенно присвоенной.)
Операторы try-catch-finally
Анализ определенного присвоения для оператора try-catch-finally в виде:
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
finally finally-block
выполняется с допущением, что оператор try-finally содержит оператор try-catch:
try {
try try-block
catch(...) catch-block-1
...
catch(...) catch-block-n
}
finally finally-block
В следующем примере демонстрируется, как разные блоки оператора try (§8.10) влияют на определенное присваивание.
class A
{
static void F() {
int i, j;
try {
goto LABEL;
// neither i nor j definitely assigned
i = 1;
// i definitely assigned
}
catch {
// neither i nor j definitely assigned
i = 3;
// i definitely assigned
}
finally {
// neither i nor j definitely assigned
j = 5;
// j definitely assigned
}
// i and j definitely assigned
LABEL:;
// j definitely assigned
}
}
Операторы foreach
Для операции stmt оператора foreach в форме:
|
foreach (type identifier in expr) embedded-statement
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор или в конечную точку операции stmt соответствует состоянию переменной v в конце выражения expr.
Операторы using
Для операции stmt оператора using в форме:
using (resource-acquisition) embedded-statement
· состояние определенного присваивания переменной v в начале операции resource-acquisition соответствует состоянию переменной v в начале операции stmt.
· Состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор соответствует состоянию переменной v в конце операции resource-acquisition.
Операторы lock
Для операции stmt оператора lock в форме:
lock (expr) embedded-statement
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· Состояние определенного присваивания переменной v при переключении потока управления на внедренный оператор соответствует состоянию переменной v в конце выражения expr.
Операторы yield
Для операции stmt оператора yield return в форме:
yield return expr;
· состояние определенного присваивания переменной v в начале выражения expr соответствует состоянию переменной v в начале операции stmt;
· состояние определенного присваивания переменной v в конце операции stmt соответствует состоянию переменной v в конце выражения expr.
Оператор yield break не влияет на состояние определенного присвоения.
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!