Как отловить любое стандартное исключение c ++? - PullRequest
0 голосов
/ 29 октября 2018

Я знаю, что в C ++ вы можете поймать исключение любого типа данных, используя:

try {
  // throw exception here
} catch (...) {
  // handle exception here
}

Но я хочу перехватить любое стандартное исключение C ++, такое как std::logic_error, std::out_of_range, а не другие типы данных, такие как string или int. Как я могу поймать только стандартные исключения C ++ только? Я хочу вызвать exp.what() для переданного в C ++ стандартного объекта исключения, и это невозможно с помощью приведенного выше кода.

1 Ответ

0 голосов
/ 29 октября 2018

Все стандартные исключения происходят из std::exception, поэтому обратите внимание:

try {
    // throw exception here
}
catch (const std::exception &e) {
    // handle exception here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...