c++ - C++ 中的 Winsock2 + OpenSSL : How can I catch their exceptions?

标签 c++ windows sockets exception openssl

我想捕获在使用带有 OpenSSL 加密的 Winsock2 套接字时抛出的异常,但我不知道该怎么做。在 C# 中,我只能捕获基类异常,但在 C++ 中,试图用“catch(std::exception e)”捕获它们是行不通的。它只适用于“catch(...)”,但我需要一些对象来获取详细信息。

在 C++ 中是否不可能通过为基类 std::exception 创建一个 catch block 来捕获每一种异常,或者我是否从其他基类获取异常?

干杯 亚历克斯

最佳答案

据我所知,winsock 和 OpenSSL 是基于 C 的项目,因此不会抛出 C++ 异常。

也就是说,这些项目有可能引发结构化异常。例如,如果将错误的缓冲区传递给这些项目之一导出的函数,则操作系统可能会引发访问冲突异常。

虽然有可能 catch such exceptions ,您可能不想 - 引发异常的应用程序的状态可能不一致。

关于c++ - C++ 中的 Winsock2 + OpenSSL : How can I catch their exceptions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278561/

相关文章:

java - 当客户端向服务器发送消息时,消息会被截断

javascript - 如何让 Socket 只发送给发出请求的客户端?

java - 尝试读取 inputStream 时连接重置

c++ - dll 的 new 和 delete 运算符重载

c++ - 在 C++ 中组合接口(interface)

c++ - Win32 C++ 控制台清屏不闪烁

c - 在 C 中以编程方式使用 CMD

C++,自使用 boost 和 std::chrono 以来的时间?为什么 Boost 版本慢 10 倍?

c++ - 确定由 Windows GUI 操作触发的基础调用

linux - 使用 GUI 开发程序