From 7249b643ac4d3109c4c2276551e979cc1fdd9732 Mon Sep 17 00:00:00 2001 From: str4d Date: Sun, 29 May 2016 05:03:32 +0000 Subject: [PATCH] Differentiate between constructor invocation failure and connection failure --- core/java/src/net/i2p/client/impl/I2PSessionImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/src/net/i2p/client/impl/I2PSessionImpl.java b/core/java/src/net/i2p/client/impl/I2PSessionImpl.java index 84bed6adf..fd28a7f6f 100644 --- a/core/java/src/net/i2p/client/impl/I2PSessionImpl.java +++ b/core/java/src/net/i2p/client/impl/I2PSessionImpl.java @@ -605,7 +605,11 @@ public abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2 Constructor ctor = clazz.getDeclaredConstructor(I2PAppContext.class); Object fact = ctor.newInstance(_context); Method createSocket = clazz.getDeclaredMethod("createSocket", String.class); - _socket = (Socket) createSocket.invoke(fact, _options.getProperty(PROP_DOMAIN_SOCKET)); + try { + _socket = (Socket) createSocket.invoke(fact, _options.getProperty(PROP_DOMAIN_SOCKET)); + } catch (InvocationTargetException e) { + throw new I2PSessionException("Cannot create domain socket", e); + } } catch (ClassNotFoundException e) { throw new I2PSessionException("Cannot load DomainSocketFactory", e); } catch (NoSuchMethodException e) {