Основные понятия и элементы


Встроенные переменные

        env

        errorCode

        errorInfo


        Библиотека Tcl автоматически создает и управляет следующими глобальными переменными. Во всех случаях, кроме специально оговоренных, эти переменные должны использоваться приложениями и пользователями в режиме только для чтения.

env
        Эта переменная задается Tcl в виде массива, элементами которого являются переменные окружения процесса. Чтение элемента даст значение соответствующей переменной окружения. Присвоение значения элементу массива присвоит новое значение переменной окружения или создаст ее, если она не была определена. Отмена (удаление) элемента массива env удалит соответствующую переменную окружения. Изменения в массиве будут влиять на окружение, переданное дочерним процессам такими командами, как exec. Если будет удален весь массив env, то Tcl перестанет отслеживать обращения к env и перестанет обновлять значения переменных окружения.

errorCode
        После возникновения ошибки данная переменная будет определена для содержания дополнительной информации об ошибке в форме, удобной для обработки программами. Переменная состоит из списка Tcl с одним или более элементами. Первый элемент списка идентифицирует общий класс ошибок и определяет формат остальной части списка. Ядро Tcl использует следующие ниже форматы errorCode, отдельные приложения могут задавать свои собственные форматы.         Если первый элемент errorCode есть UNIX, то это означает, что ошибка произошла во время обращения к ядру UNIX. Элемент errName содержит символическое имя возникшей ошибки, например, ENOENT; имена определены в файле errno.h. Элемент msg есть соответствующее errName сообщение пользователю, например, для случая ENOENT: «Нет такого файла или каталога».

        Для задания переменной errorCode приложения должны использовать такие библиотечные процедуры, как Tcl_SetErrorCode и Tcl_UnixError, или использовать команду error. Если ни один из этих способов не был использован, то после следующей ошибки интерпретатор Tcl установит переменную на NONE.

errorlnfo

        После возникновения ошибки эта строковая переменная будет содержать одну или более строк, идентифицирующих команды и процедуры Tcl, исполнявшиеся в момент возникновения самой последней ошибки. Ее содержимое принимает форму образа стека, со всеми вложенными командами Tcl, которые в момент возникновения ошибки не были закончены.
Hosted by uCoz