[terminate.handler]

# 17 Language support library [[support]](./#support)

## 17.9 Exception handling [[support.exception]](support.exception#terminate.handler)

### 17.9.5 Abnormal termination [[exception.terminate]](exception.terminate#terminate.handler)

#### 17.9.5.1 Type terminate_handler [terminate.handler]

[ð](#lib:terminate_handler)

`using terminate_handler = void (*)();
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L4010)

The type of a [*handler function*](#def:handler_function) to be invoked by terminatewhen terminating exception processing[.](#1.sentence-1)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L4016)

*Required behavior*: A terminate_handler shall
terminate execution of the program without returning to the caller[.](#2.sentence-1)

[3](#3)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L4021)

*Default behavior*: The implementation's default terminate_handler callsabort()[.](#3.sentence-1)
