Здравствуйте, Alxndr, Вы писали:
A>Здравствуйте, Pasternak, Вы писали:
P>>Не доконца продуманная, на мой взляд, поддержка исключений.
P>>Хотелось бы, например, такую как в Jave. Было бы не плохо, если бы компилятор мог сказать: "Вот это я компилировать не буду, так как у вас тут исключение не обрабатывается". Ато приходится лазить по исходникам и смотреть, кто какие исключения генерирует, какие либы используются и что они выплёвывают.
A>Это мешало бы вызывать из C-функций C++-функции (переданные, например, в качестве callback'а).
Вообще выпускать какие-либо исключения за пределы функций callback-ов мне кажется не очень хорошо. Тот кто вызывает эту С-функцию понятия не имеет какие исключения могут генерироваться. Лучшее, что он может сделать это перехватить всё и сообщить об ошибке.
Но и в этом случае можно было бы решить вопрос генерации исключений в callback-ах например, через тип указателя на функцию.
Например как то так (первое что пришло в голову):
typedef void (*Callback)(void) throw std::exception;
void function(Calback f) throw std::exception;