error handling

This commit is contained in:
2025-08-23 01:45:06 +05:30
parent 7b8cb6ce9e
commit 95fa260882

View File

@@ -0,0 +1,97 @@
# Error Handling
# Basic try / except
try:
number = int('anikuttan') # invalid conversion
except:
print("Something went worng")
try:
x = int("abc") # invalid conversion
except ValueError:
print("Oops! That was not a number.")
# Handling Multiple Exceptions
try:
result = 10 / 0
except ZeroDivisionError:
print("You cannot divide by zero!")
except ValueError:
print("Invalid value!")
# Catching All Exceptions
try:
print(10/0)
except Exception as e:
print(f"error {e}")
# else with try
# The else block runs only if no exception occurs.
try:
x = int("10")
# x = int("abs")
except ValueError:
print("Invalid number")
else:
print("Conversion successful:", x)
# finally Block
# The finally block always runs
try:
x = int("as")
except ValueError:
print("invalid conversion")
finally:
print("Finally called")
# Raising Exceptions
def withdraw(balance, amount):
if amount > balance:
raise ValueError("Insufficient funds!")
else:
return balance - amount
try:
withdraw(100, 200)
except ValueError as e:
print("Error:", e)
# Custom Exceptions
class NegativeNumberError(Exception):
pass
def square_root(x):
if x < 0:
raise NegativeNumberError(
"Cannot take square root of negative number!")
return x ** 0.5
try:
print(square_root(-9))
except NegativeNumberError as e:
print("Custom Error:", e)
# Summary
# try / except → catch errors
# else → run if no error
# finally → always runs
# raise → trigger your own error
# Custom exceptions → more control in big apps