Sobes.tech
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}")

უპირატესობები:

  • ზრდის პროგრამის სანდოობას.
  • იზოლირებს კოდს, რომელიც შეიძლება გამოიწვიოს შეცდომები.
  • საშუალებას აძლევს უფრო სუფთა განყოფილებას ნორმალური შესრულების ლოგიკისა და შეცდომების მართვის ლოგიკის შორის.