Я начал использовать исключения С++ единообразно, и теперь мне хотелось бы, чтобы компилятор (g++) проверял, нет ли утечек исключений. Декорация throw
должна делать это, например, const
для констант методов класса.
Ну, это не так.
Использование throw
по-прежнему документально, но может даже оказаться опасным для введения в заблуждение, если другие считают, что функция не может выбрасывать другие исключения, кроме тех, которые указаны в его документации.
Можно ли как-то убедить g++ быть более строгим в его проверке на бросок, т.е. действительно удостовериться, что функция, украшенная как throw()
, никогда никогда не выбросит что-либо.
Изменить: Нашел этот вопрос, рассматривая этот вопрос широко.