Когда я буду использовать uncaught_exception? - PullRequest
7 голосов
/ 09 ноября 2008

Что является хорошим вариантом использования uncaught_exception?

Ответы [ 3 ]

7 голосов
/ 09 ноября 2008

Херб Саттер, кажется, дает хороший совет здесь . Он не знает, как правильно его использовать, и говорит, что некоторые случаи, когда это кажется полезным, на самом деле не работают.

2 голосов
/ 09 ноября 2008

uncaught_exception может использоваться в деструкторах, чтобы определить, выполняются ли они в контексте исключения (где бросок завершит программу). Я не согласен с тем, что философия немного ошибочна, но это зависит от того, как вы используете исключения - если ваше исключение является исправимой ошибкой, может быть удобнее просто попытаться исправить ее, чем позволить другой части кода попытаться разобраться с этим, как обычно.

Это также полезно, если у вас есть код, требующий активного исключения (это редко, но иногда у вас есть библиотека управления исключениями, которая будет использовать throw; для получения текущего исключения, но это приведет к завершению, если его нет , поэтому uncaught_exception может использоваться для определения того, будет ли это прервано (и, если да, возможно, сгенерировать исключение!). Примером являются новые средства исключения, которые также являются частью наддува.

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