On Sunday, 26 March 2017 at 11:35:00 UTC, Jolly James wrote:
On Sunday, 26 March 2017 at 02:41:46 UTC, Adam D. Ruppe wrote:
On Sunday, 26 March 2017 at 02:24:56 UTC, Jolly James wrote:
You can ignore the loop()-method. It is not called as the application will never reach this statement, because it cannot, because it crashes already in the listen()-method in consequence of the exception that does not get caught by the try-catch block.

Try putting it in the try anyway and see what happens.

It is an async socket library, they can do weird things.\

Unfortunately not working either. I should not forget to mention that the exception also raises when the code does not contain the loop()-call.

Found out something: You cannot catch any exception thrown in the listen()-method in general.


■ Original code:
auto addressInfos = getAddressInfo(addr, to!string(port), AddressInfoFlags.PASSIVE, SocketType.STREAM, ProtocolType.TCP);


■ Modified one:
AddressInfo[] addressInfos;

try
{
addressInfos = getAddressInfo(addr, to!string(port), AddressInfoFlags.PASSIVE, SocketType.STREAM, ProtocolType.TCP);
}
catch(SocketOSException e)
{
        throw new Exception("Invalid address: " ~ addr, e);
}


■ Not working try-catch:
        try
        {
                tcp.listen(2345, "127.0.0.1c");
                socketManager.loop();
        }
        catch (Exception e)
        {
                return;
        }

Reply via email to