projman/hlp/ru/tcl/return.html

99 lines
5.3 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
2015-10-19 13:27:31 +03:00
<html>
<head>
<title>return</title>
</head>
<body>
<h1>return</h1>
<p>Команда осуществляет возврат из процедуры.</p>
2015-10-19 13:27:31 +03:00
<h2>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>return</strong> ?<strong>-code</strong> <em>code</em>? ?<strong>-errorinfo</strong> <em>info</em>? ?<strong>-errorcode</strong> <em>code</em>? ?<em>string</em>?
</pre>
<h2>ОПИСАНИЕ</h2>
2015-10-19 13:27:31 +03:00
<p>Команда немедленно осуществляет возврат из текущей процедуры
(или команды верхнего уровня, или команды <strong><a
href=source.html>source</a></strong>) со значением, заданным
<em>string</em>. Если аргумент <em>string</em> не задан, возвращает
пустую строку.</p>
2015-10-19 13:27:31 +03:00
<p>Обычно опция <strong>-code</strong> не используется, и процедура
завершается успешно (с кодом завершения TCL_OK). Однако, ее
можно использовать для генерации других кодов возврата. Ниже
перечислены возможные коды.</p>
2015-10-19 13:27:31 +03:00
<dl>
<dt><strong>ok</strong></dt>
<dd>Успешное завершение. То же самое, что отсутствие кода.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>error</strong></dt>
<dd>Возвращает ошибку. То же самое, что использовать команду
<strong><a href=error.html>error</a></strong> для прекращения
выполнения процедуры за исключением обработки переменных <strong><a
href=tclvars.html#errorInfo>errorInfo</a></strong> и <strong><a
href=tclvars.html#errorCode>errorCode</a></strong>
(см. ниже).</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>return</strong></dt>
<dd>Текущая процедура вернет код TCL_RETURN, который вызовет
немедленный возврат также и из вызывающей процедуры.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>break</strong></dt>
<dd>Текущая процедура вернет код TCL_BREAK, который вызовет
немедленное прекращение выполнения самого внутреннего из
вложенных циклов, из которого была вызвана процедура.</dd>
2015-10-19 13:27:31 +03:00
<dt><strong>continue</strong></dt>
<dd>Текущая процедура вернет код TCL_CONTINUE, который вызовет
немедленное прекращение выполнения текущей итерации самого
внутреннего из вложенных циклов, из которого была вызвана
процедура.</dd>
2015-10-19 13:27:31 +03:00
<dt><em>value</em></dt>
<dd>Значение <em>value</em> должно быть целым числом. Оно будет
возвращено как код выполнения процедуры.</dd>
2015-10-19 13:27:31 +03:00
</dl>
<p>Опция <strong>-code</strong> используется относительно редко. Она
предусмотрена для того, чтобы процедуры, реализующие новые
управляющие команды, могли вернуть вызывающим их процедурам
исключительные условия.</p>
<p>Опции <strong>-errorinfo</strong> и <strong>-errorcode</strong> могут
использоваться совместно с <strong>code error</strong>, чтобы вернуть
дополнительную информацию о сгенерированной ошибке. В остальных
случаях они игнорируются.</p>
<p>Опция <strong>-errorinfo</strong> используется для того, чтобы задать
исходное значение переменной <strong><a href=
tclvars.html#errorInfo>errorInfo</a></strong>. Если она не будет
задана, то в переменную <strong><a
href=tclvars.html#errorInfo>errorInfo</a></strong> будет включена
информация о вызове процедуры, вернувшей ошибку, и о более
высоких уровнях стека, но не информация непосредственно об
ошибке внутри процедуры. Чаще всего для формирования переменной
<em>info</em> используется сообщение команды <strong><a
href=catch.html#catch>catch</a></strong>, обнаружившей ошибку в
процедуре.</p>
<p>Если опция <strong>-errorcode</strong> указана, она позволяет задать
значение переменной <strong><a href=tclvars.html#errorCode>
errorCode</a></strong>. В противном случае ей будет присвоено
значение <strong>NONE</strong>.</p>
2015-10-19 13:27:31 +03:00
</body>
</html>