From 0b51e3e5dd5271b191b1698fe46f3497b834a02a Mon Sep 17 00:00:00 2001 From: mercedes-mathews Date: Mon, 7 Apr 2025 03:30:31 +0000 Subject: [PATCH] chore: adds custom exceptions for EcommerceSystem --- .../codedifferently/lesson14/ecommerce/EcommerceSystem.java | 6 ++++++ .../lesson14/ecommerce/OrderNotFoundException.java | 6 +++++- .../lesson14/ecommerce/ProductNotFoundException.java | 6 +++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java index 77cf26937..8270f9f4c 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java @@ -20,6 +20,9 @@ public void addProduct(String productId, String name) { public String placeOrder(String productId, int quantity) { Product product = products.get(productId); String orderId = UUID.randomUUID().toString(); + if (product == null) { + throw new ProductNotFoundException("Product with ID " + productId + " not found"); + } orders.put(orderId, new Order(orderId, product, quantity)); return orderId; } @@ -30,6 +33,9 @@ public void cancelOrder(String orderId) { public String checkOrderStatus(String orderId) { Order order = orders.get(orderId); + if (order == null) { + throw new OrderNotFoundException("Order with ID " + orderId + " not found"); + } return "Order ID: " + orderId + ", Product: " diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java index 0104e0ab8..8db950eb9 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java @@ -5,4 +5,8 @@ package com.codedifferently.lesson14.ecommerce; -class OrderNotFoundException {} +public class OrderNotFoundException extends RuntimeException { + public OrderNotFoundException(String message) { + super(message); + } +} diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java index 25aa814eb..9b1180214 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java @@ -5,4 +5,8 @@ package com.codedifferently.lesson14.ecommerce; -class ProductNotFoundException {} +class ProductNotFoundException extends RuntimeException { + public ProductNotFoundException(String message) { + super(message); + } +}