Spec-Zone.ru › Elisp

Ошибки

Когда Emacs Lisp пытается оценить форму, которая по какой-то причине не может быть оценена, он сигнализирует об ошибке.

Когда сигнализируется ошибка, стандартная реакция Emacs — вывести сообщение об ошибке и завершить выполнение текущей команды. Это правильное действие в большинстве случаев, например, если вы набираете C-f в конце буфера.

В сложных программах простое завершение может быть не тем, что нужно. Например, программа может внести временные изменения в структуры данных или создать временные буферы, которые следует удалить перед завершением программы. В таких случаях вы используете unwind-protect для установления выражений очистки, которые будут оцениваться в случае ошибки. (См. Очистки.) Иногда вам может потребоваться, чтобы программа продолжала выполнение несмотря на ошибку в подпрограмме. В этих случаях вы используете condition-case для установления обработчиков ошибок, чтобы восстановить контроль в случае ошибки.

Сопротивляйтесь соблазну использовать обработку ошибок для передачи управления из одной части программы в другую; используйте catch и throw вместо этого. См. Перехват и бросок.

• Сигнализация об ошибках Как сообщить об ошибке.
• Обработка ошибок Что делает Emacs, когда вы сообщаете об ошибке.
• Обработка ошибок Как вы можете перехватывать ошибки и продолжать выполнение.
• Символы ошибок Как ошибки классифицируются для их перехвата.

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/Errors.html

Spec-Zone.ru

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