Бросать исключения в синтаксисе c ++ - PullRequest
2 голосов
/ 18 сентября 2011

Для выдачи исключений я знаю, что вы можете объявить / определить функцию с тем значением, что она генерирует исключение

EX.

void foo(void) throw(const char *) {};

Какое подходящее время для этого. Если мы собираемся объявить / определить это таким образом, делаем ли мы это как с прототипом, так и с определением или только с определением. Еще одна вещь, каков синтаксис, чтобы сделать это с конструктором, если у нас есть другие вещи включены.

Ex.

class bar
{
 bar() , a(a) would the throw go here, and would it also in the definition if written elsewhere ?
}

Спасибо: -)

1 Ответ

3 голосов
/ 18 сентября 2011

Не делайте этого, в C ++ 11 это не рекомендуется, и на то есть веская причина: он не выполняет то, что думают люди.

Обновление: Более подробная информация отема здесь http://www.boost.org/development/requirements.html#Exception-specification

Еще одно обновление: Как отмечает @Steve Fallows, вот еще одна хорошая ссылка на тему: http://www.gotw.ca/publications/mill22.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...