From f5483ba82a97a741d603984bc3c8cfdd3cc5b3c5 Mon Sep 17 00:00:00 2001
From: Adrian Stoica <stoica@ntnu.no>
Date: Wed, 2 Nov 2022 17:42:37 +0100
Subject: [PATCH] refactor: improves exception handling

* ensure todoPersistence object is not null on all paths
* output ignored exceptions to std err
---
 .../fxui/src/main/java/todolist/ui/TodoAppController.java   | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/todolist/fxui/src/main/java/todolist/ui/TodoAppController.java b/todolist/fxui/src/main/java/todolist/ui/TodoAppController.java
index 456e27e..59538d3 100644
--- a/todolist/fxui/src/main/java/todolist/ui/TodoAppController.java
+++ b/todolist/fxui/src/main/java/todolist/ui/TodoAppController.java
@@ -85,9 +85,12 @@ public class TodoAppController {
         reader = new StringReader(todoListWithTwoItems);
       }
       try {
-        todoModel = todoPersistence.readTodoModel(reader);
+        if (todoPersistence != null) {
+          todoModel = todoPersistence.readTodoModel(reader);
+        }   
       } catch (IOException e) {
         // ignore
+        System.err.println(e.toString());
       } finally {
         try {
           if (reader != null) {
@@ -95,6 +98,7 @@ public class TodoAppController {
           }
         } catch (IOException e) {
           // ignore
+          System.err.println(e.toString());
         }
       }
     }
-- 
GitLab