Здравствуйте, so5team, Вы писали:
Спасибо! Очень полезные советы! Хотел еще спросить — как средствами языка C++ выразить интерфейс класса, который бросает исключения?
namespace net {
class Reciever {
Result recv_msg(Channel channel) // этот метод кидает исключение RecieveException
};
}
Как выразить то, что метод кидает исключения средствами C++?
Или описывать это в документации к классу? А если нету документации? А заказчику предоставляется библиотека (без исходных кодов). А даже если с исходными кодами, то заказчик что-ли будет изучать исходники, чтобы узнать какие исключения могут выбрасываться?
Здравствуйте, developer, Вы писали:
D>Спасибо! Очень полезные советы! Хотел еще спросить — как средствами языка C++ выразить интерфейс класса, который бросает исключения?
namespace net {
class Reciever {
Result recv_msg(Channel channel) throw (RecieveException); // или throw(...) для неопределённого круга исключений
}
Но такой синтаксис начиная с C++17 обещали сделать depricated. А Microsoft на него болт ложил с самого начала. Т.е. синтаксис разрешает, но честно предупреждает, что он его игнорирует..