From 4c6fe37cc21b448c25accaa7c936189e5ad7c2f0 Mon Sep 17 00:00:00 2001
From: Harry Linrui XU <xulr0820@hotmail.com>
Date: Mon, 10 Apr 2023 12:30:37 +0200
Subject: [PATCH] Potentially caught exception in the correct manner

---
 .../demo/controller/AddExpenseController.java         | 11 ++++++-----
 .../demo/controller/AddIncomeController.java          |  7 ++++---
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
index 229e493a..2d3af8ca 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
@@ -167,9 +167,11 @@ public class AddExpenseController {
   private void addEventFilters() {
     okBtn.addEventFilter(
         ActionEvent.ACTION, event -> {
-          if (!validateInputs()) {
-            event.consume();
-            errorMsg.setOpacity(1);
+          try {
+            validateInputs();
+          } catch(IllegalArgumentException e) {
+              event.consume();
+              errorMsg.setOpacity(1);
           }
         });
   }
@@ -179,8 +181,7 @@ public class AddExpenseController {
           Double.parseDouble(amountField.getText()), recurringBox.getValue(),
           categoryBox.getValue(), datePicker.getValue());
     } catch (IllegalArgumentException e) {
-      System.out.println("ok");
-      return false;
+      throw new IllegalArgumentException("Invalid input. Cannot instantiate expense", e);
     }
     return true;
   }
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
index a1eebbbc..87476819 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddIncomeController.java
@@ -150,7 +150,9 @@ public class AddIncomeController {
   private void addEventFilters() {
     okBtn.addEventFilter(
         ActionEvent.ACTION, event -> {
-          if (!validateInputs()) {
+          try {
+            validateInputs();
+          } catch(IllegalArgumentException e) {
             event.consume();
             errorMsg.setOpacity(1);
           }
@@ -162,8 +164,7 @@ public class AddIncomeController {
           Double.parseDouble(amountField.getText()), recurringBox.getValue(),
           categoryBox.getValue(), datePicker.getValue());
     } catch (IllegalArgumentException e) {
-      System.out.println("ok");
-      return false;
+      throw new IllegalArgumentException("Invalid inputs. Cannot instantiate income", e);
     }
     return true;
   }
-- 
GitLab