projman/hlp/ru/tcl/error.html

58 lines
3.0 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>error</title>
</head>
<body>
<h1>error</h1>
<p>Команда генерирует ошибку.</p>
2015-10-19 13:27:31 +03:00
<h2>СИНТАКСИС</h2>
2015-10-19 13:27:31 +03:00
<pre>
<strong>error</strong> <em>message</em> <em>info</em> <em>code</em>
</pre>
<h2>ОПИСАНИЕ</h2>
<p>Команда возвращает код <strong>TCL_ERROR</strong>, прерывающий
интерпретацию команды. Строка <em>message</em> возвращается
приложению, чтобы указать, что именно произошло. Если задан
непустой аргумент <em>info</em>, его значение присваивается
глобальной переменной <strong>errorInfo</strong>. Переменная
<strong>errorInfo</strong> обычно используется для формирования сведений о
вложениях команды, в которой произошла ошибка. Другими словами,
как только оказывается, что невыполненная команда была вложена в
другую команду, информацию об этой команде добавляется к
<strong>errorInfo</strong>. Если же аргумент <em>info</em> был задан, этого
не происходит. Эта особенность позволяет при использовании
команды <strong>error</strong> совместно с командой <strong>catch</strong> выдать
информацию о реальном месте ошибки (а не о месте вызова команды
<strong>error</strong>). Для этого можно использовать следующую
конструкцию:</p>
2015-10-19 13:27:31 +03:00
<pre>
catch {...} errMsg
set savedInfo <em></em>
2015-10-19 13:27:31 +03:00
...
error <em></em> <em></em>
2015-10-19 13:27:31 +03:00
</pre>
<p>Если задан аргумент <em>code</em>, то его значение будет
присвоено глобальной переменной <strong>errorCode</strong>. Эта переменная
предназначена для хранения машинного описания ошибки в тех
случаях, когда такое описание возможно. Форматы различных
сообщений приведены в разделе <a
href=tell.html><strong>tell</strong></a>. Если аргумент не задан,
переменной <strong>errorCode</strong> в процессе обработки
Tcl-интерпретатором ошибки, порожденной командой, присваивается
значение <strong>&quot;NONE&quot;</strong>.</p>
<h2>ПРИМЕР</h2>
2015-10-19 13:27:31 +03:00
</body>
</html>