std::promise<R>:: set_exception_at_thread_exit
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Getting the result | ||||
| Setting the result | ||||
|
promise::set_exception_at_thread_exit
|
||||
| Non-member Functions | ||||
| Helper Classes | ||||
|
void
set_exception_at_thread_exit
(
std::
exception_ptr
p
)
;
|
(C++11 이후) | |
예외 포인터를 p 에 저장하며 상태를 즉시 준비 상태로 만들지 않습니다. 스레드 로컬 저장 기간을 가진 모든 변수들이 소멸된 후, 현재 스레드가 종료될 때 상태가 준비됩니다.
이 연산은 마치
set_value
,
set_exception
,
set_value_at_thread_exit
, 그리고
set_exception_at_thread_exit
이 promise 객체를 업데이트하는 동안 promise 객체와 연관된 단일 뮤텍스를 획득하는 것처럼 동작합니다.
공유 상태가 없거나 공유 상태가 이미 값이나 예외를 저장하고 있는 경우 예외가 발생합니다.
이 함수에 대한 호출은 get_future 호출과 데이터 경쟁(data race)을 발생시키지 않습니다 (따라서 서로 동기화할 필요가 없습니다).
목차 |
매개변수
| p | - | 저장할 예외 포인터. p 가 nullptr 인 경우 동작은 정의되지 않음 |
반환값
(없음)
예외
std::future_error 가 다음 조건에서 발생합니다:
- * this 는 공유 상태를 가지지 않습니다. 오류 코드는 no_state 로 설정됩니다.
- 공유 상태에 이미 값이나 예외가 저장되어 있습니다. 오류 코드는 promise_already_satisfied 로 설정됩니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
결과를 예외 발생으로 설정
(public member function) |