Пространства имён
Варианты
Действия

std::rethrow_exception

Материал из cppreference.com
< cpp‎ | error

 
 
 
Обработка ошибок
Обработка исключений
Оригинал:
Exception handling
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
exception
uncaught_exception
exception_ptr(C++11)
make_exception_ptr(C++11)
current_exception(C++11)
rethrow_exception(C++11)
nested_exception(C++11)
throw_with_nested(C++11)
rethrow_if_nested(C++11)
Неудачи обработки исключений
Оригинал:
Exception handling failures
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
terminate
terminate_handler
get_terminate(C++11)
set_terminate
unexpected(устарело)
bad_exception
unexpected_handler(устарело)
get_unexpected(C++11)(устарело)
set_unexpected(устарело)
Исключение категорий
Оригинал:
Exception categories
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
logic_error
invalid_argument
domain_error
length_error
out_of_range
runtime_error
range_error
overflow_error
underflow_error
Коды ошибок
Оригинал:
Error codes
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Коды ошибок
errno
Утверждений
Оригинал:
Assertions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
assert
system_error центр
Оригинал:
system_error facility
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
error_category(C++11)
generic_category(C++11)
system_category(C++11)
error_condition(C++11)
errc(C++11)
error_code(C++11)
system_error(C++11)
 
Определено в заголовочном файле <exception>
[[noreturn]] void rethrow_exception( std::exception_ptr p )
(начиная с C++11)
Выдает ранее захваченные исключением объектов, на которые ссылается указатель исключением p.
Оригинал:
Throws the previously captured exception object, referred to by the exception pointer p.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

p -
ненулевой std::exception_ptr
Оригинал:
non-null std::exception_ptr
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

(Нет)

[править] Пример

[edit]
#include <iostream>
#include <string>
#include <exception>
#include <stdexcept>
 
void handle_eptr(std::exception_ptr eptr) // passing by value is ok
{
    try {
        if (eptr != std::exception_ptr()) {
            std::rethrow_exception(eptr);
        }
    } catch(const std::exception& e) {
        std::cout << "Caught exception \"" << e.what() << "\"\n";
    }
}
 
int main()
{
    std::exception_ptr eptr;
    try {
        std::string().at(1); // this generates an std::out_of_range
    } catch(...) {
        eptr = std::current_exception(); // capture
    }
    handle_eptr(eptr);
} // destructor for std::out_of_range called here, when the eptr is destructed

Вывод:

Caught exception "basic_string::at"

[править] См. также

общий тип указателя для обработки исключения объектов
Оригинал:
shared pointer type for handling exception objects
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(определение типа) [edit]
captures the current exception in a std::exception_ptr
(функция) [edit]