Приложение F Стандартные ошибки

Ниже приведён список наиболее важных символов ошибок в стандартном Emacs, сгруппированных по концепциям. Список включает сообщение каждого символа и перекрёстную ссылку на описание того, как может возникнуть эта ошибка.

Каждый символ ошибки имеет набор родительских условий ошибки, который является списком символов. Обычно этот список включает сам символ ошибки и символ error. Иногда он включает дополнительные символы, которые являются промежуточными классификациями, более узкими, чем error, но более широкими, чем отдельный символ ошибки. Например, все ошибки при доступе к файлам имеют условие file-error. Если здесь не сказано, что определённый символ ошибки имеет дополнительные условия ошибки, это означает, что он их не имеет.

В качестве особого исключения символы ошибок quit и minibuffer-quit не имеют условия error, поскольку выход не считается ошибкой.

Большинство этих символов ошибок определены в C (в основном в data.c), но некоторые определены в Lisp. Например, файл userlock.el определяет ошибки file-locked и file-supersession. Некоторые специализированные библиотеки Lisp, поставляемые с Emacs, определяют собственные символы ошибок. Мы не пытаемся перечислить все из них здесь.

См. Ошибки для объяснения того, как генерируются и обрабатываются ошибки.

error

Сообщение: ‘error’. См. Ошибки.

quit

Сообщение: ‘Quit’. См. Выход.

minibuffer-quit

Сообщение: ‘Quit’. Это подкатегория quit. См. Выход.

args-out-of-range

Сообщение: ‘Args out of range’. Возникает при попытке доступа к элементу за пределами допустимого диапазона последовательности, буфера или другого подобного контейнеру объекта. См. Последовательности, массивы и векторы и см. Текст.

arith-error

Сообщение: ‘Arithmetic error’. Возникает при попытке выполнить целочисленное деление на ноль. См. Числовые преобразования и см. Арифметические операции.

beginning-of-buffer

Сообщение: ‘Beginning of buffer’. См. Перемещение по символам.

buffer-read-only

Сообщение: ‘Buffer is read-only’. См. Буферы только для чтения.

circular-list

Сообщение: ‘List contains a loop’. Возникает при обнаружении циклической структуры. См. Синтаксис чтения для циклических объектов.

cl-assertion-failed

Сообщение: ‘Assertion failed’. Возникает, когда макрос cl-assert не проходит проверку. См. Утверждения в Расширениях Common Lisp.

coding-system-error

Сообщение: ‘Invalid coding system’. См. Системы кодировки в Lisp.

cyclic-function-indirection

Сообщение: ‘Symbol's chain of function indirections contains a loop’. См. Косвенная адресация функций символов.

cyclic-variable-indirection

Сообщение: ‘Symbol's chain of variable indirections contains a loop’. См. Псевдонимы переменных.

dbus-error

Сообщение: ‘D-Bus error’. См. Ошибки и события в Интеграции D-Bus в Emacs.

end-of-buffer

Сообщение: ‘End of buffer’. См. Перемещение по символам.

end-of-file

Сообщение: ‘End of file during parsing’. Обратите внимание, что это не подкатегория file-error, поскольку относится к средству чтения Lisp, а не к вводу-выводу файлов. См. Функции ввода.

file-already-exists

Это подкатегория file-error. См. Запись в файлы.

permission-denied

Это подкатегория file-error, которая возникает, когда ОС по какой-либо причине не разрешает Emacs доступ к файлу или каталогу.

file-date-error

Это подкатегория file-error. Возникает, когда copy-file пытается установить время последней модификации выходного файла и терпит неудачу. См. Изменение имён и атрибутов файлов.

file-error

Мы не перечисляем строки ошибок для этой ошибки и её подкатегорий, поскольку сообщение об ошибке обычно конструируется только из элементов данных при наличии условия ошибки file-error. Таким образом, строки ошибок не очень важны. Однако эти символы ошибок имеют свойства error-message, и если данные не предоставлены, свойство error-message используется. См. Файлы.

file-missing

Это подкатегория file-error. Возникает, когда операция пытается воздействовать на отсутствующий файл. См. Изменение имён и атрибутов файлов.

compression-error

Это подкатегория file-error, которая возникает из-за проблем при работе со сжатым файлом. См. Как программы выполняют загрузку.

file-locked

Это подкатегория file-error. См. Блокировки файлов.

file-supersession

Это подкатегория file-error. См. Время модификации буфера.

file-notify-error

Это подкатегория file-error. Возникает, когда за файлом не удалось установить наблюдение за изменениями. См. Уведомления об изменениях файлов.

remote-file-error

Это подкатегория file-error, которая возникает из-за проблем при доступе к удалённому файлу. См. Удалённые файлы в Руководстве по GNU Emacs. Часто эта ошибка появляется, когда таймеры, фильтры процессов, сторожевые процессы процессов или специальные события в целом пытаются получить доступ к удалённому файлу и конфликтуют с другой операцией над удалённым файлом. В общем случае рекомендуется сообщать об ошибке. См. Ошибки в Руководстве по GNU Emacs.

ftp-error

Это подкатегория remote-file-error, которая возникает из-за проблем при доступе к удалённому файлу через ftp. См. Удалённые файлы в Руководстве по GNU Emacs.

invalid-function

Сообщение: ‘Invalid function’. См. Косвенная адресация функций символов.

invalid-read-syntax

Сообщение обычно: ‘Invalid read syntax’. См. Печатное представление и синтаксис чтения. Эта ошибка также может возникать при выполнении команд, таких как eval-expression, когда после выражения есть текст. В этом случае сообщение: ‘Trailing garbage following expression’.

invalid-regexp

Сообщение: ‘Invalid regexp’. См. Регулярные выражения.

mark-inactive

Сообщение: ‘The mark is not active now’. См. Метка.

no-catch

Сообщение: ‘No catch for tag’. См. Явные нелокальные выходы: catch и throw.

range-error

Сообщение: Arithmetic range error.

overflow-error

Сообщение: ‘Arithmetic overflow error’. Это подкатегория range-error. Может возникнуть при целых числах, превышающих лимит integer-width. См. Основы целых чисел.

scan-error

Сообщение: ‘Scan error’. Возникает, когда некоторые функции синтаксического анализа обнаруживают недопустимый синтаксис или несбалансированные скобки. Обычно вызывается с тремя аргументами: понятное человеку сообщение об ошибке, начало препятствия, которое нельзя преодолеть, и конец препятствия. См. Перемещение по сбалансированным выражениям и см. Разбор выражений.

search-failed

Сообщение: ‘Search failed’. См. Поиск и сопоставление.

setting-constant

Сообщение: ‘Attempt to set a constant symbol’. Возникает при попытке присвоить значения nil, t, most-positive-fixnum, most-negative-fixnum и символам-ключевым словам. Также возникает при попытке присвоить значения enable-multibyte-characters и некоторым другим символам, прямое присвоение которым по какой-либо причине запрещено. См. Переменные, которые никогда не изменяются.

text-read-only

Сообщение: ‘Text is read-only’. Это подкатегория buffer-read-only. См. Свойства с особым значением.

undefined-color

Сообщение: ‘Undefined color’. См. Имена цветов.

user-error

Сообщение: пустая строка. См. Как сигнализировать об ошибке.

user-search-failed

Это подобно ‘search-failed’, но не вызывает отладчик, подобно ‘user-error’. См. Как сигнализировать об ошибке и см. Поиск и сопоставление. Используется для поиска в Info-файлах, см. Поиск текста в Info.

void-function

Сообщение: ‘Symbol's function definition is void’. См. Доступ к содержимому ячейки функции.

void-variable

Сообщение: ‘Symbol's value as variable is void’. См. Доступ к значениям переменных.

wrong-number-of-arguments

Сообщение: ‘Wrong number of arguments’. См. Особенности списков аргументов.

wrong-type-argument

Сообщение: ‘Wrong type argument’. См. Предикаты типов.

unknown-image-type

Сообщение: ‘Cannot determine image type’. См. Изображения.

inhibited-interaction

Сообщение: ‘User interaction while inhibited’. Эта ошибка сигнализируется, когда inhibit-interaction не равен nil и вызывается функция взаимодействия с пользователем (например, read-from-minibuffer).