<!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>