[exec.set.error]

# 33 Execution control library [[exec]](./#exec)

## 33.7 Receivers [[exec.recv]](exec.recv#exec.set.error)

### 33.7.3 execution​::​set_error [exec.set.error]

[1](#1)

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

set_error is an error completion function ([[exec.async.ops]](exec.async.ops "33.3 Asynchronous operations"))[.](#1.sentence-1)

Its associated completion tag is set_error_t[.](#1.sentence-2)

The expression set_error(rcvr, err) for some subexpressions rcvr and err is ill-formed
if rcvr is an lvalue or an rvalue of const type[.](#1.sentence-3)

Otherwise, it is expression-equivalent to*MANDATE-NOTHROW*(rcvr.set_error(err))[.](#1.sentence-4)
