> For the complete documentation index, see [llms.txt](https://emacs-lisp.ivory.cafe/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emacs-lisp.ivory.cafe/lisp-shu-ju-lei-xing/bian-cheng-lei-xing/2.4.20-zhong-zhi-lei-xing.md).

# 2.4.20 终止类型

终止类型对象会协助lisp 代码做一些清理工作，尤其是当某个对象不在被需要的时候。终止对象会储存一个函数对象。在垃圾清理后，终止对象不被任何方式引用时，Emacs会调用终止对象相连的函数对象。在计算引用时，Emacs不会记录终止对象的引用，因此你可以放心的使用终止对象。

终止对象引发的错误会被输出到 \*Messages\* 中。Emacs只会运行一次终止对象相连的函数，即便函数调用失败。

Function: make-finalizer function\
&#x20; 生成一个终止对象，这个终止对象的关联函数为 function。当终止对象不可用时，其关联的函数便会被调用。如果一个终止对象引用了另一个终止对象，那么这个引用不会被计数。每个终止对象只会运行一次关联函数。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://emacs-lisp.ivory.cafe/lisp-shu-ju-lei-xing/bian-cheng-lei-xing/2.4.20-zhong-zhi-lei-xing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
