 
         public function close():void {
             if (_connected) {
-                try {
-                    if (_broker.connected) {
+                if (_broker.connected) {
+                    try {
                         _broker.send(new Terminate());
                         _broker.close();
+                    } catch (e:Error) {
+                        LOGGER.warn("Could not shut down cleanly: " + e.message);
                     }
-                } catch (e:Error) {
-                    LOGGER.warn("Could not shut down cleanly: " + e.message);
                 }
                 _connected = false;
             }            

        }

        public function connect(handler:IConnectionHandler):void {
            _connHandler = handler;
            _connecting = true;


            _queryHandler = null;
            // Note that we still may need to throw away any number of DataRow messages
            _hasCodecError = true; 
        }

        private function ensureConnected():void {
            if (!_connected) {
                _connHandler.handleStreamError(new Error("Not connected"));
            }
        }

        private function ensureReady():void {
            if (!_rfq) {
                onProtocolError(new ProtocolError("FEBEConnection is not ready for query"));
            }
        }

    }
