98 lines
3.7 KiB
HTML
98 lines
3.7 KiB
HTML
<!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>
|