diff options
Diffstat (limited to 'js/src')
-rw-r--r-- | js/src/Ice/ConnectRequestHandler.js | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/js/src/Ice/ConnectRequestHandler.js b/js/src/Ice/ConnectRequestHandler.js index 80438239c17..a5f739996ef 100644 --- a/js/src/Ice/ConnectRequestHandler.js +++ b/js/src/Ice/ConnectRequestHandler.js @@ -54,24 +54,9 @@ var ConnectRequestHandler = Ice.Class({ }, connect: function(proxy) { - try - { - if(!this.initialized()) - { - this._proxies.push(proxy); - } - } - catch(ex) + if(!this.initialized()) { - // - // Only throw if the connection didn't get established. If - // it died after being established, we allow the caller to - // retry the connection establishment by not throwing here. - // - if(this._connection === null) - { - throw ex; - } + this._proxies.push(proxy); } return this._requestHandler ? this._requestHandler : this; }, @@ -212,6 +197,16 @@ var ConnectRequestHandler = Ice.Class({ { if(this._exception !== null) { + if(this._connection !== null) + { + // + // Only throw if the connection didn't get established. If + // it died after being established, we allow the caller to + // retry the connection establishment by not throwing here + // (the connection will throw RetryException). + // + return true; + } throw this._exception; } else |