From 15a8eaa7a53641d52f0351f852c30f03cee85529 Mon Sep 17 00:00:00 2001 From: David Gailleton Date: Wed, 24 Dec 2025 13:01:48 +0000 Subject: [PATCH] 02/01 --- 02/ex1/ft_different_errors.py | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 02/ex1/ft_different_errors.py diff --git a/02/ex1/ft_different_errors.py b/02/ex1/ft_different_errors.py new file mode 100644 index 0000000..faae7b9 --- /dev/null +++ b/02/ex1/ft_different_errors.py @@ -0,0 +1,42 @@ +def garden_operations(case: str) -> None: + if case == "ValueError": + int("abc") + elif case == "ZeroDivisionError": + 10 / 0 + elif case == "FileNotFoundError": + open("notexist") + elif case == "KeyError": + dic = {"test0": "t", "test1": "t"} + dic["a"] + + +def test_error_types(): + try: + garden_operations("ValueError") + except ValueError: + print("Caught ValueError: invalid literal for int()") + + try: + garden_operations("ZeroDivisionError") + except ZeroDivisionError: + print("Caught ZeroDivisionError: division by zero") + + try: + garden_operations("FileNotFoundError") + except FileNotFoundError as err: + print("Caught FileNotFoundError:", err) + + try: + garden_operations("KeyError") + except KeyError as err: + print("Caught KeyError:", err) + + try: + garden_operations("ValueError") + except (ValueError, KeyError, ZeroDivisionError, FileNotFoundError): + print("Caught an error, but program continues!") + + +if __name__ == "__main__": + test_error_types() + print("All error types tested successfully!")