summaryrefslogtreecommitdiff
path: root/py02/ex2/ft_different_errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'py02/ex2/ft_different_errors.py')
-rwxr-xr-xpy02/ex2/ft_different_errors.py36
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()