Cleaner CLI

Change-Id: I81916ee10450e6f2137a3ff72a693dcf521c8a85
diff --git a/common/frameio/frameio.py b/common/frameio/frameio.py
index 27aed12..b215da3 100644
--- a/common/frameio/frameio.py
+++ b/common/frameio/frameio.py
@@ -139,7 +139,12 @@
 
     def _dispatch(self, frame):
         log.debug('calling-publisher', frame=hexify(frame))
-        self.callback(self, frame)
+        try:
+            self.callback(self, frame)
+        except Exception, e:
+            log.exception('callback-error',
+                          explanation='Callback failed while processing frame',
+                          e=e)
 
     def recv(self):
         """Called on the select thread when a packet arrives"""