Clean properly populationStatus when an exception is thrown

Change-Id: Ibcb54e6cfe5031ef2854e96d9933bb522241e998
diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/DefaultRoutingHandler.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/DefaultRoutingHandler.java
index 95350d9..4812ff6 100644
--- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/DefaultRoutingHandler.java
+++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/DefaultRoutingHandler.java
@@ -279,6 +279,10 @@
             log.info("Completed all routing rule population. Total # of rules pushed : {}",
                     rulePopulator.getCounter());
             return;
+        } catch (Exception e) {
+            log.error("populateAllRoutingRules thrown an exception: {}",
+                      e.getMessage(), e);
+            populationStatus = Status.ABORTED;
         } finally {
             statusLock.unlock();
         }
@@ -411,6 +415,10 @@
                     rulePopulator.getCounter());
             return;
 
+        } catch (Exception e) {
+            log.error("populateSubnet thrown an exception: {}",
+                      e.getMessage(), e);
+            populationStatus = Status.ABORTED;
         } finally {
             statusLock.unlock();
         }
@@ -539,6 +547,10 @@
                 log.warn("Failed to repopulate the rules for link status change.");
                 return;
             }
+        } catch (Exception e) {
+            log.error("populateRoutingRulesForLinkStatusChange thrown an exception: {}",
+                      e.getMessage(), e);
+            populationStatus = Status.ABORTED;
         } finally {
             statusLock.unlock();
         }