From 9f045221ef710b83d78e4a620ed1fa1413798f5f Mon Sep 17 00:00:00 2001 From: Vavinan Date: Wed, 3 Apr 2024 21:56:36 +0800 Subject: [PATCH 1/3] Refactor the exception handling to provide more information --- src/main/java/budgetbuddy/BudgetBuddy.java | 2 +- src/main/java/budgetbuddy/ui/UserInterface.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/budgetbuddy/BudgetBuddy.java b/src/main/java/budgetbuddy/BudgetBuddy.java index df73fb93f5..452ad470df 100644 --- a/src/main/java/budgetbuddy/BudgetBuddy.java +++ b/src/main/java/budgetbuddy/BudgetBuddy.java @@ -107,7 +107,7 @@ public void run() { } catch (InvalidArgumentSyntaxException e){ UserInterface.printInvalidArgumentSyntax(e.getMessage()); } catch (Exception e) { - UserInterface.printUnknownError(e.getMessage()); + UserInterface.printExceptionErrorMessage(e.getMessage()); } } diff --git a/src/main/java/budgetbuddy/ui/UserInterface.java b/src/main/java/budgetbuddy/ui/UserInterface.java index 2faee37501..d7d7826730 100644 --- a/src/main/java/budgetbuddy/ui/UserInterface.java +++ b/src/main/java/budgetbuddy/ui/UserInterface.java @@ -72,9 +72,11 @@ public static void printInvalidIndex(String message, int id) { System.out.println(LINE); } - public static void printUnknownError(String message) { + public static void printExceptionErrorMessage(String message) { System.out.println(LINE); - System.out.println(TAB_SPACE + "Unknown error occurred with message: " + message); + System.out.println(TAB_SPACE + "An error occurred with the message: " + message); + System.out.println(TAB_SPACE + "Please check your command Syntax. \n" + TAB_SPACE + + " If you need assistance use `help` command to know further about each command syntax."); System.out.println(LINE); } From 68202320d949273a0dea0e5ff0dd7d458beacc60 Mon Sep 17 00:00:00 2001 From: Vavinan Date: Wed, 3 Apr 2024 21:59:36 +0800 Subject: [PATCH 2/3] Refactor: Remove unnecessary exception handling in delete command --- src/main/java/budgetbuddy/transaction/TransactionList.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/budgetbuddy/transaction/TransactionList.java b/src/main/java/budgetbuddy/transaction/TransactionList.java index c114d07d14..7d19f9c869 100644 --- a/src/main/java/budgetbuddy/transaction/TransactionList.java +++ b/src/main/java/budgetbuddy/transaction/TransactionList.java @@ -68,9 +68,6 @@ public void removeTransaction(String input, AccountManager accountManager) throw throw new EmptyArgumentException("delete index"); } String data = input.substring(DELETE_BEGIN_INDEX).trim(); - if (isNotInteger(data)) { - throw new NumberFormatException(data); - } int id = Integer.parseInt(data) - INDEX_OFFSET; int size = transactions.size(); if (id >= LOWER_BOUND && id < size) { From 3f8f5441a8b5bb36b610be556e3974344b267c22 Mon Sep 17 00:00:00 2001 From: Vavinan Date: Wed, 3 Apr 2024 22:06:42 +0800 Subject: [PATCH 3/3] Refactor: Rename function parseTransactionType to parseEditTransaction --- src/main/java/budgetbuddy/parser/Parser.java | 2 +- src/main/java/budgetbuddy/transaction/TransactionList.java | 2 +- src/test/java/budgetbuddy/parser/ParserTest.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/budgetbuddy/parser/Parser.java b/src/main/java/budgetbuddy/parser/Parser.java index ef5faa8fb9..18ad87e4b4 100644 --- a/src/main/java/budgetbuddy/parser/Parser.java +++ b/src/main/java/budgetbuddy/parser/Parser.java @@ -87,7 +87,7 @@ public Transaction parseUserInputToTransaction(String input, Account account) } //@@author Vavinan - public Transaction parseTransactionType(String newTransaction, Account account) throws InvalidEditTransactionData { + public Transaction parseEditTransaction(String newTransaction, Account account) throws InvalidEditTransactionData { String[] parts = newTransaction.split(" \\| "); String type = parts[0].trim(); diff --git a/src/main/java/budgetbuddy/transaction/TransactionList.java b/src/main/java/budgetbuddy/transaction/TransactionList.java index 7d19f9c869..5cfdf907a7 100644 --- a/src/main/java/budgetbuddy/transaction/TransactionList.java +++ b/src/main/java/budgetbuddy/transaction/TransactionList.java @@ -219,7 +219,7 @@ public void processEditTransaction(String input, AccountManager accountManager) Transaction transaction = transactions.get(index); Account account = accountManager.getAccountByAccountNumber(transaction.getAccountNumber()); String newTransaction = UserInterface.getEditInformation(transaction.toString()); - Transaction t = parser.parseTransactionType(newTransaction, account); + Transaction t = parser.parseEditTransaction(newTransaction, account); transactions.set(index, t); UserInterface.printUpdatedTransaction(t); } else { diff --git a/src/test/java/budgetbuddy/parser/ParserTest.java b/src/test/java/budgetbuddy/parser/ParserTest.java index baa174b39f..3db9180865 100644 --- a/src/test/java/budgetbuddy/parser/ParserTest.java +++ b/src/test/java/budgetbuddy/parser/ParserTest.java @@ -33,7 +33,7 @@ public void testParseTransactionType() throws InvalidEditTransactionData, Invali // Test case for valid income transaction String incomeTransactionString = "income | test1 | 10-11-2022 | 1000.00 | 1"; - Transaction incomeTransaction = parser.parseTransactionType(incomeTransactionString, account); + Transaction incomeTransaction = parser.parseEditTransaction(incomeTransactionString, account); assertEquals("test1", incomeTransaction.getDescription()); assertEquals(1000.00, incomeTransaction.getAmount(), 0.001); assertEquals("Dining", incomeTransaction.getCategory().getCategoryName()); @@ -42,7 +42,7 @@ public void testParseTransactionType() throws InvalidEditTransactionData, Invali // Test case for valid expense transaction String expenseTransactionString = "expense | Grocery | 12-11-2022 | 50.00 | 2"; - Transaction expenseTransaction = parser.parseTransactionType(expenseTransactionString, account); + Transaction expenseTransaction = parser.parseEditTransaction(expenseTransactionString, account); assertEquals("Grocery", expenseTransaction.getDescription()); assertEquals(-50.00, expenseTransaction.getAmount(), 0.001); assertEquals("Groceries", expenseTransaction.getCategory().getCategoryName());