diff options
Diffstat (limited to 'py02/ex2/ft_different_errors.py')
| -rwxr-xr-x | py02/ex2/ft_different_errors.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/py02/ex2/ft_different_errors.py b/py02/ex2/ft_different_errors.py new file mode 100755 index 0000000..cd64d5f --- /dev/null +++ b/py02/ex2/ft_different_errors.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# https://docs.python.org/3/tutorial/errors.html#handling-exceptions + +def garden_operation(operation_number): + if operation_number == 0: + int("abc") + elif operation_number == 1: + 10 / 0 + elif operation_number == 2: + open("/file.txt") + elif operation_number == 3: + "string" + 3 + else: + print("Operation completed successfully") + + +def test_error_types(): + print("=== Garden Type Demo ===") + for i in range(5): + try: + print(f"Testing operation {i} ...") + garden_operation(i) + except ValueError as err: + print("Caught ValueError", err) + except ZeroDivisionError as err: + print("Caught ZeroDivisionError:", err) + except FileNotFoundError as err: + print("Caught FileNotFoundError:", err) + except TypeError as err: + print("Caught TypeError:", err) + print() + return print("All error types tested successfully!") + + +if __name__ == "__main__": + test_error_types() |
