
"Christopher Kohlhoff" <chris@kohlhoff.com> wrote in message news:1256082527.2327.1341115615@webmail.messagingengine.com...
supports both throwing and non-throwing modes. From the compiler's point of view, any calling code must also support exceptions and so a space and/or time cost is paid for unwinding, even if it is not required.
Socket functions may always run into errors. These errors cannot be ignored, since all the following code is based on, that the socket operation was successful. Can you give me a socket example, which can not result in an error? Creating a listening socket may fail, because of the port is already in use (this assumes that there is no need to seperately export socket/bind/listen). Creating a socket which connects to some well known address may also fail. Reading and writing from/to a socket may fail with an error, because the socket was closed on the other end.
I have had some Asio users complain that I have left out some non-throwing overloads.
I guess this are the same programmers, which use fixed-sized buffers.