Protect the RouteManagers threads from exceptions thrown by listeners

Change-Id: Ia260dcdcb83070939b96e4c7fb8d20baa0ae78a5
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
index 684cc34..a362316 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
@@ -279,12 +279,15 @@
         }
 
         private void poll() {
-            try {
-                while (true) {
+            while (true) {
+                try {
                     listener.event(queue.take());
+                } catch (InterruptedException e) {
+                    log.info("Route listener event thread shutting down: {}", e.getMessage());
+                    break;
+                } catch (Exception e) {
+                    log.warn("Exception during route event handler", e);
                 }
-            } catch (InterruptedException e) {
-                log.info("Route listener event thread shutting down: {}", e.getMessage());
             }
         }