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