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("Блокът finally е изпълнен.")
Основни компоненти:
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}")
Предимства:
- Повишава надеждността на програмата.
- Изолира кода, който може да предизвика грешки.
- Позволява по-чисто разделяне на нормалната логика за изпълнение и логиката за обработка на грешки.