projman/hlp/ru/tcl/return.html
2018-02-05 17:23:37 +03:00

99 lines
5.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
<html>
<head>
<title>return</title>
</head>
<body>
<h1>return</h1>
<p>Команда осуществляет возврат из процедуры.</p>
<h2>СИНТАКСИС</h2>
<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>
<p>Команда немедленно осуществляет возврат из текущей процедуры
(или команды верхнего уровня, или команды <strong><a
href=source.html>source</a></strong>) со значением, заданным
<em>string</em>. Если аргумент <em>string</em> не задан, возвращает
пустую строку.</p>
<p>Обычно опция <strong>-code</strong> не используется, и процедура
завершается успешно (с кодом завершения TCL_OK). Однако, ее
можно использовать для генерации других кодов возврата. Ниже
перечислены возможные коды.</p>
<dl>
<dt><strong>ok</strong></dt>
<dd>Успешное завершение. То же самое, что отсутствие кода.</dd>
<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>
<dt><strong>return</strong></dt>
<dd>Текущая процедура вернет код TCL_RETURN, который вызовет
немедленный возврат также и из вызывающей процедуры.</dd>
<dt><strong>break</strong></dt>
<dd>Текущая процедура вернет код TCL_BREAK, который вызовет
немедленное прекращение выполнения самого внутреннего из
вложенных циклов, из которого была вызвана процедура.</dd>
<dt><strong>continue</strong></dt>
<dd>Текущая процедура вернет код TCL_CONTINUE, который вызовет
немедленное прекращение выполнения текущей итерации самого
внутреннего из вложенных циклов, из которого была вызвана
процедура.</dd>
<dt><em>value</em></dt>
<dd>Значение <em>value</em> должно быть целым числом. Оно будет
возвращено как код выполнения процедуры.</dd>
</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>
</body>
</html>