From c1fc39ac17f2822940cc8ba1f2b0997199295b58 Mon Sep 17 00:00:00 2001 From: "Ruidy (aider)" Date: Sun, 1 Dec 2024 18:04:57 +0100 Subject: [PATCH] refactor: Improve error handling in solve and solve_part2 functions --- lib/advent_code2024/day1.ex | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/advent_code2024/day1.ex b/lib/advent_code2024/day1.ex index 2cd17ad..c86b608 100644 --- a/lib/advent_code2024/day1.ex +++ b/lib/advent_code2024/day1.ex @@ -29,10 +29,12 @@ defmodule AdventCode2024.Day1 do def solve(input_file \\ "day1/input.txt") do case File.read(input_file) do {:ok, content} -> - {left, right} = parse_input(content) - result = calculate_total_distance(left, right) - {:ok, result} - + case parse_input(content) do + {:error, reason} -> {:error, reason} + {left, right} -> + result = calculate_total_distance(left, right) + {:ok, result} + end {:error, reason} -> {:error, reason} end @@ -61,10 +63,12 @@ defmodule AdventCode2024.Day1 do def solve_part2(input_file \\ "day1/input.txt") do case File.read(input_file) do {:ok, content} -> - {left, right} = parse_input(content) - result = calculate_similarity_score(left, right) - {:ok, result} - + case parse_input(content) do + {:error, reason} -> {:error, reason} + {left, right} -> + result = calculate_similarity_score(left, right) + {:ok, result} + end {:error, reason} -> {:error, reason} end