[personal profile] dememax
Думаю, многие из вас в курсе, что в NPTL механизм pthread_cancel() реализован с помощью исключений. Таким образом, следует избегать нейтрализации catch(...).

Знающие люди, а скажите, есть ли в мелко-мягкой среде какие-то подводные камни, из-за которых тоже следует избегать такой нейтрализации?

Заранее благодарен! :-)

Update: Обратные ссылки: alextutubalin: Об исключениях (C++)

Date: 2011-08-16 12:13 pm (UTC)
From: [identity profile] vaddimka.livejournal.com
а в чем проблема? все исключения STL унаследованы от std::exception
делаешь catch( std::exception& e ) и все
можешь даже после этого в сишный интерфейс какую-нибудь строковую ошибку вернуть (по e.what() выдастся const char *

Date: 2011-08-16 02:47 pm (UTC)
From: [identity profile] vaddimka.livejournal.com
только сделай проверку, e.what() вполне может вернуть NULL (бывает что кроме типа исключения другой полезной инфы не предоставляется)
From: [identity profile] rezdm.livejournal.com
А что, если рантайм разный? Ну там один с гцц собрался под виндой, другой собирает прожект вижуалом, а ты из своей либы бросаешь стл-экцепшн.
From: [identity profile] rezdm.livejournal.com
Вполне себе, мож твою либу ваще кто-то из питона будет звать, или там, прости г-ди, дельфи.
From: [identity profile] rezdm.livejournal.com
Макс, говорю ж — я не знаю, что за либа, как ты её распространяешь, т.п. Вдруг забудешь.

Profile

dememax

May 2023

S M T W T F S
 123456
78910111213
14151617181920
21 2223 24252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 1st, 2025 01:33 am
Powered by Dreamwidth Studios