Я нашел то, что выглядит как противоречивые ответы, касающиеся исключений, брошенных внутри конструкторов в C ++. Один из ответов в этой ссылке гласит, что если исключение добавляется внутрь конструктора, предполагается, что строительство не завершено, и поэтому деструктор не называется. Но эта ссылка обсуждает концепцию RAII, используя пример мутекса, созданного в конструкторе, и очищенного в деструкторе. В нем говорится, что если в конструкторе создается мутекс, а затем конструктор вызывает функцию, которая бросает экскапитацию, и обработчик исключений не определяется, тогда деструктор все еще будет вызван, и мутекс будет очищен. Что
мне не хватает? < /P>
Подробнее здесь: https://stackoverflow.com/questions/560 ... nstructors