Я должен добавить бросок () к объявлениям для моих деструкторов C++?

Эта функция будет доступна в следующем выпуске Solace JMS Resource Adapter. В этом выпуске будет возможность настроить ваше приложение для использования хранилища JNDI без использования Solace. Это можно сделать, установив URL-адрес подключения, имя пользователя и пароль поставщика JNDI (в вашем случае JBoss) в свойствах компонента адаптера ресурсов.

6
задан Community 23 May 2017 в 11:49
поделиться

2 ответа

Это не препятствует тому, чтобы Вы выдали исключения от Вашего деструктора. Компилятор все еще позволит Вам сделать это. Различие - то, что, если Вы действительно позволяете исключению сбегать из того деструктора, Ваша программа будет сразу звонить unexpected. То, что вызовы функции вообще unexpected_handler точки к, который по умолчанию является terminate. Таким образом, если Вы не делаете что-то для обработки непредвиденной исключительной ситуации, программа завершается, который является не в целом плохой идеей. В конце концов, если исключение действительно неожиданно, то нет действительно ничего, что Ваша программа смогла бы сделать для обработки его так или иначе.

Это не что-то специальное о деструкторах; те же правила относятся к спецификациям исключения за все методы.

7
ответ дан 10 December 2019 в 00:45
поделиться

Это не ужасная идея. Если Вы добавите dtor, в то время как никакое исключение не распространяется, Вы сразу прерветесь, который сообщает, что Вы забыли делать фактический небросок dtor.

С другой стороны, при пропуске спецификации броска Вы будете только знать о своей плохой dtor реализации, когда исключение будет, на самом деле, выдано.

3
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: