2018-02-05 17:22:04 +03:00
|
|
|
|
<!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>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда осуществляет возврат из процедуры.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +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>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +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
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Обычно опция <strong>-code</strong> не используется, и процедура
|
|
|
|
|
завершается успешно (с кодом завершения TCL_OK). Однако, ее
|
|
|
|
|
можно использовать для генерации других кодов возврата. Ниже
|
|
|
|
|
перечислены возможные коды.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>ok</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Успешное завершение. То же самое, что отсутствие кода.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>error</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Текущая процедура вернет код TCL_RETURN, который вызовет
|
|
|
|
|
немедленный возврат также и из вызывающей процедуры.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>break</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Текущая процедура вернет код TCL_BREAK, который вызовет
|
|
|
|
|
немедленное прекращение выполнения самого внутреннего из
|
|
|
|
|
вложенных циклов, из которого была вызвана процедура.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>continue</strong></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Текущая процедура вернет код TCL_CONTINUE, который вызовет
|
|
|
|
|
немедленное прекращение выполнения текущей итерации самого
|
|
|
|
|
внутреннего из вложенных циклов, из которого была вызвана
|
|
|
|
|
процедура.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><em>value</em></dt>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<dd>Значение <em>value</em> должно быть целым числом. Оно будет
|
|
|
|
|
возвращено как код выполнения процедуры.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dl>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<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>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|