Junior
რა არის გამონაკლისების მართვა Python-ში?
sobes.tech AI
პასუხი AI-სგან
Python-да გამონაკლისების მართვის მექანიზმი არის საშუალება, რომელიც საშუალებას გვაძლევს იპოვოთ და რეაგირება გავუწიოთ შეცდომებზე ან მოვლენებზე, რომლებიც არღვევს პროგრამის ნორმალურ შესრულებას.
გამოყენებულია try...except...finally ან try...except...else...finally ბლოკები.
try:
# კოდი, რომელიც შეიძლება გამოიწვიოს გამონაკლისი
result = 10 / 0
except ZeroDivisionError:
# კონკრეტული გამონაკლისის მართვა
print("შეცდომა: ნულზე გაყოფა!")
except Exception as e:
# ნებისმიერი სხვა გამონაკლისის მართვა
print(f"დაფიქსირდა შეცდომა: {e}")
else:
# ხორციელდება, თუ try ბლოკში შეცდომა არ იყო
print("ოპერაცია წარმატებით დასრულდა.")
finally:
# ყოველთვის ხორციელდება, შეცდომის არსებობის მიუხედავად
print("ფინალური ბლოკი შესრულდა.")
ძირითადი კომპონენტები:
try: კოდის ბლოკი, სადაც შესაძლებელია გამონაკლისის წარმოქმნა.except: კოდის ბლოკი, რომელიც ხორციელდება, როდესაცtry-ში ხდება კონკრეტული ტიპის გამონაკლისი. შეიძლება გამოყენებულ იქნას რამდენიმეexceptსხვადასხვა ტიპის გამონაკლისებისთვის.else: (სურვილისამებრ) კოდის ბლოკი, რომელიც ხორციელდება, თუtry-ში არ მოხდა გამონაკლისი.finally: (სურვილისამებრ) კოდის ბლოკი, რომელიც ყოველთვის ხორციელდება, გამონაკლისის არსებობის მიუხედავად. ხშირად გამოიყენება რესურსების განთავისუფლებისთვის (მაგ., ფაილების დახურვა).raise: კლავიშსიტყვა, რომელიც გამოიყენება გამონაკლისის გამოტანისთვის.
def divide(a, b):
if b == 0:
raise ValueError("გაყოფა ნულზე არ შეიძლება")
return a / b
try:
divide(10, 0)
except ValueError as e:
print(f"პირადი გამონაკლისის მართვა: {e}")
უპირატესობები:
- ზრდის პროგრამის სანდოობას.
- იზოლირებს კოდს, რომელიც შეიძლება გამოიწვიოს შეცდომები.
- საშუალებას აძლევს უფრო სუფთა განყოფილებას ნორმალური შესრულების ლოგიკისა და შეცდომების მართვის ლოგიკის შორის.