Howto catch SocketOSException?
bauss via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Mar 25 18:22:24 PDT 2017
On Sunday, 26 March 2017 at 00:34:03 UTC, Jolly James wrote:
> How do you catch an std.socket.SocketOSException?
>
>
> The following does not work, as the exception occurs anyway and
> leads to a crash:
>
>>import ae.net.asockets;
>>
>>void main(string[] args)
>>{
>> TcpServer tcp = new TcpServer();
>>
>> try
>> {
>> tcp.listen(2345, "127.0.0.1c");
>> // '...c' makes the IP address invalid
>> }
>> catch (std.socket.SocketOSException e)
>> {
>> return;
>> }
>> catch (Exception e)
>> {
>> return;
>> }
>>
>> socketManager.loop();
>>}
>
> Output:
>>std.socket.SocketOSException at std\socket.d(975): getaddrinfo
>>error: Unknown Host
This part:
catch (std.socket.SocketOSException e)
> {
> return;
> }
Is redundant, because SocketOSException inherits SocketException
which inherits Exception.
It should already be caught by catch (Exception e)
You should have a full stacktrace, chances are that it's invoked
in your loop()?
More information about the Digitalmars-d-learn
mailing list