[associative.reqmts.except]

# 23 Containers library [[containers]](./#containers)

## 23.2 Requirements [[container.requirements]](container.requirements#associative.reqmts.except)

### 23.2.7 Associative containers [[associative.reqmts]](associative.reqmts#except)

#### 23.2.7.2 Exception safety guarantees [associative.reqmts.except]

[1](#1)

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

For associative containers, no clear() function throws an exception[.](#1.sentence-1)

erase(k) does not throw an exception unless that exception is thrown
by the container's Compare object (if any)[.](#1.sentence-2)

[2](#2)

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

For associative containers, if an exception is thrown by any operation from
within an insert or emplace function inserting a single element, the
insertion has no effect[.](#2.sentence-1)

[3](#3)

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

For associative containers, no swap function throws an exception unless
that exception is thrown by the
swap of the container's Compare object (if any)[.](#3.sentence-1)
