Spec-Zone.ru › Elisp

Основы предупреждений

Каждое предупреждение имеет текстовое сообщение, которое объясняет проблему пользователю, и уровень серьезности, который является символом. Ниже приведены возможные уровни серьезности в порядке убывания серьезности и их значения:

:emergency

Проблема, которая в ближайшее время серьезно повлияет на работу Emacs, если вы не обратите на нее внимание своевременно.

:error

Сообщение о данных или обстоятельствах, которые изначально неверны.

:warning

Сообщение о данных или обстоятельствах, которые сами по себе не несут ошибку, но вызывают подозрение о возможной проблеме.

:debug

Сообщение об информации, которая может быть полезной при отладке.

При обнаружении неверных входных данных программа может либо сгенерировать ошибку Lisp, вызвав error или signal, либо сообщить о предупреждении с уровнем серьезности :error. Генерация ошибки Lisp — это самое простое решение, но это означает, что программа не сможет продолжить обработку. Если вы хотите позаботиться о продолжении обработки несмотря на плохие данные, то сообщение о предупреждении уровня :error — правильный способ информировать пользователя о проблеме. Например, компилятор байт-кода Emacs Lisp может сообщать об ошибке таким образом и продолжать компиляцию других функций. (Если программа генерирует ошибку Lisp, а затем обрабатывает ее с помощью condition-case, пользователь не увидит сообщение об ошибке; его можно отобразить пользователю, сообщив об этом как о предупреждении.)

Каждое предупреждение имеет тип предупреждения для его классификации. Тип представляет собой список символов. Первый символ должен соответствовать настраиваемой группе, которую вы используете для параметров пользователя программы. Например, предупреждения компилятора байт-кода используют тип предупреждения (bytecomp). Вы также можете подразделить предупреждения, если хотите, используя больше символов в списке.

Функция: display-warning тип сообщение &опционально уровень имя-буфера

Эта функция сообщает о предупреждении, используя сообщение в качестве сообщения и тип в качестве типа предупреждения. уровень должен соответствовать уровню серьезности, при этом :warning — значение по умолчанию.

имя-буфера, если оно не nil, указывает имя буфера для регистрации предупреждения. По умолчанию это *Предупреждения*.

Функция: lwarn тип уровень сообщение &остальные аргументы

Эта функция сообщает о предупреждении, используя значение (format-message message args...) в качестве сообщения в буфере *Предупреждения*. В других отношениях она эквивалентна display-warning.

Функция: warn сообщение &остальные аргументы

Эта функция сообщает о предупреждении, используя значение (format-message message args...) в качестве сообщения, (emacs) в качестве типа и :warning в качестве уровня серьезности. Она существует только для совместимости; мы рекомендуем не использовать ее, потому что вам следует указать конкретный тип предупреждения.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Warning-Basics.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API