try...except ಬ್ಲಾಕ್
ಪೈಥಾನ್ನಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮ್ ಚಾಲನೆಯಲ್ಲಿರುವಾಗ ದೋಷಗಳು (errors) ಸಂಭವಿಸಬಹುದು. ಈ ದೋಷಗಳನ್ನು ಎಕ್ಸೆಪ್ಷನ್ಗಳು (Exceptions) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಎಕ್ಸೆಪ್ಷನ್ಗಳು ಸಂಭವಿಸಿದಾಗ, ಪ್ರೋಗ್ರಾಮ್ ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತದೆ.
try...except ಬ್ಲಾಕ್ ಅನ್ನು ಬಳಸಿ, ನಾವು ಸಂಭಾವ್ಯ ದೋಷಪೂರಿತ ಕೋಡ್ ಅನ್ನು "ಪ್ರಯತ್ನಿಸಬಹುದು" (try) ಮತ್ತು ದೋಷ ಸಂಭವಿಸಿದರೆ ಅದನ್ನು "ಹಿಡಿಯಬಹುದು" (except), ಇದರಿಂದ ಪ್ರೋಗ್ರಾಮ್ ಕ್ರ್ಯಾಶ್ ಆಗುವುದನ್ನು ತಪ್ಪಿಸಬಹುದು.
try...except ಸಿಂಟ್ಯಾಕ್ಸ್
tryಬ್ಲಾಕ್: ಇಲ್ಲಿ ನೀವು ದೋಷವನ್ನು ಉಂಟುಮಾಡಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಇರಿಸುತ್ತೀರಿ.exceptಬ್ಲಾಕ್:tryಬ್ಲಾಕ್ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟExceptionTypeನ ದೋಷ ಸಂಭವಿಸಿದರೆ ಮಾತ್ರ ಈ ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ: ZeroDivisionError
ಶೂನ್ಯದಿಂದ ಭಾಗಾಕಾರ ಮಾಡುವುದು ಗಣಿತದಲ್ಲಿ ಸಾಧ್ಯವಿಲ್ಲ, ಮತ್ತು ಪೈಥಾನ್ನಲ್ಲಿ ಇದು ZeroDivisionError ಅನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.
try...except ಇಲ್ಲದೆ:
numerator = 10
denominator = 0
result = numerator / denominator # ಇಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತದೆ
print("ಈ ಸಾಲು ಎಂದಿಗೂ ಪ್ರಿಂಟ್ ಆಗುವುದಿಲ್ಲ.")
ZeroDivisionError: division by zero
try...except ನೊಂದಿಗೆ:
try:
numerator = 10
denominator = 0
result = numerator / denominator
except ZeroDivisionError:
print("ದೋಷ: ಶೂನ್ಯದಿಂದ ಭಾಗಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ!")
print("ಪ್ರೋಗ್ರಾಮ್ ಯಶಸ್ವಿಯಾಗಿ ಮುಂದುವರಿಯಿತು.")
ಅನೇಕ except ಬ್ಲಾಕ್ಗಳು
ಒಂದು try ಬ್ಲಾಕ್ ಅನೇಕ ರೀತಿಯ ದೋಷಗಳನ್ನು ಉಂಟುಮಾಡಬಹುದು. ಪ್ರತಿಯೊಂದು ದೋಷಕ್ಕೂ ಪ್ರತ್ಯೇಕ except ಬ್ಲಾಕ್ ಅನ್ನು ಬರೆಯಬಹುದು.
try:
numbers = [1, 2, 3]
value = int("abc") # ValueError
print(numbers[5]) # IndexError
except ValueError:
print("ದೋಷ: ಅಮಾನ್ಯ ಸಂಖ್ಯೆಯನ್ನು ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.")
except IndexError:
print("ದೋಷ: ಲಿಸ್ಟ್ನ ಇಂಡೆಕ್ಸ್ ವ್ಯಾಪ್ತಿಯಿಂದ ಹೊರಗಿದೆ.")
else ಮತ್ತು finally ಬ್ಲಾಕ್ಗಳು
else ಬ್ಲಾಕ್
try ಬ್ಲಾಕ್ನಲ್ಲಿ ಯಾವುದೇ ದೋಷ ಸಂಭವಿಸದಿದ್ದರೆ ಮಾತ್ರ else ಬ್ಲಾಕ್ ಚಲಿಸುತ್ತದೆ.
finally ಬ್ಲಾಕ್
finally ಬ್ಲಾಕ್ನಲ್ಲಿರುವ ಕೋಡ್ ಯಾವಾಗಲೂ ಚಲಿಸುತ್ತದೆ - ದೋಷ ಸಂಭವಿಸಲಿ ಅಥವಾ ಇಲ್ಲದಿರಲಿ. ಫೈಲ್ಗಳನ್ನು ಮುಚ್ಚುವುದು ಅಥವಾ ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕಗಳನ್ನು ಕಡಿತಗೊಳಿಸುವಂತಹ ಕ್ಲೀನಪ್ ಕಾರ್ಯಗಳಿಗಾಗಿ ಇದನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
try:
num_str = input("ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ: ")
num = int(num_str)
except ValueError:
print("ದಯವಿಟ್ಟು ಮಾನ್ಯವಾದ ಪೂರ್ಣಾಂಕವನ್ನು ನಮೂದಿಸಿ.")
else:
print(f"ನೀವು ನಮೂದಿಸಿದ ಸಂಖ್ಯೆಯ ವರ್ಗ: {num ** 2}")
finally:
print("ಕಾರ್ಯಕ್ರಮದ ಈ ಭಾಗವು ಯಾವಾಗಲೂ ಚಲಿಸುತ್ತದೆ.")
ಪ್ರಮುಖ ಅಂತರ್ನಿರ್ಮಿತ ಎಕ್ಸೆಪ್ಷನ್ಗಳು
| ಎಕ್ಸೆಪ್ಷನ್ | ಕಾರಣ |
|---|---|
ValueError |
ಫಂಕ್ಷನ್ಗೆ ಸರಿಯಾದ ಟೈಪ್ನ ಆದರೆ ಅಮಾನ್ಯ ಮೌಲ್ಯವನ್ನು ನೀಡಿದಾಗ. |
TypeError |
ತಪ್ಪಾದ ಡೇಟಾ ಟೈಪ್ ಮೇಲೆ ಕಾರ್ಯಾಚರಣೆ ನಡೆಸಿದಾಗ ('5' + 2). |
IndexError |
ಲಿಸ್ಟ್ ಅಥವಾ ಟ್ಯೂಪಲ್ನ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಇಂಡೆಕ್ಸ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ. |
KeyError |
ಡಿಕ್ಷನರಿಯಲ್ಲಿ ಇಲ್ಲದ ಕೀ ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ. |
FileNotFoundError |
ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸಿದಾಗ. |
NameError |
ಡಿಫೈನ್ ಮಾಡದ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಿದಾಗ. |
ದೋಷ ನಿರ್ವಹಣೆಯು ದೃಢವಾದ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ನೇಹಿ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಅತ್ಯಗತ್ಯವಾದ ಕೌಶಲ್ಯವಾಗಿದೆ.