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

58 lines
3.0 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>error</title>
</head>
<body>
<h1>error</h1>
<p>Команда генерирует ошибку.</p>
<h2>СИНТАКСИС</h2>
<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>
<pre>
catch {...} errMsg
set savedInfo <em></em>
...
error <em></em> <em></em>
</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>
</body>
</html>