Ошибки и исключения
В Python ошибки делятся на две основные категории: синтаксические ошибки и исключения. Синтаксические ошибки возникают при нарушении правил языка, в то время как исключения возникают при возникновении проблемы во время выполнения программы.
Синтаксические ошибки
Синтаксические ошибки возникают, когда Python обнаруживает неправильное использование ключевых слов или неправильное построение инструкций. Пример:
if a = 5:
print("Hello, World!")
Здесь Python выдаст ошибку, так как используется оператор присваивания (=
) вместо оператора сравнения (==
).
Исключения
Исключения возникают во время выполнения программы из-за различных причин, таких как деление на ноль, некорректный ввод данных или использование несуществующего файла. Пример исключения:
print(10 / 0)
В данном случае возникает исключение ZeroDivisionError
, так как деление на ноль недопустимо.
Обработка исключений
Исключения можно обрабатывать с помощью конструкции try
и except
. Блок try
содержит код, который может вызвать исключение, а блок except
определяет, что делать, если исключение возникает.
try:
print(10 / 0)
except ZeroDivisionError:
print("Деление на ноль недопустимо.")
В этом примере, если возникает исключение ZeroDivisionError
, то выводится сообщение «Деление на ноль недопустимо.» вместо того, чтобы программа завершилась с ошибкой.
Пользовательские исключения
Python позволяет создавать собственные исключения, наследуя класс Exception
. Это полезно, когда нужно обрабатывать специфические ситуации в вашем коде.
class CustomError(Exception):
pass
try:
raise CustomError("Сообщение об ошибке")
except CustomError as e:
print(f"Произошла пользовательская ошибка: {e}")
Здесь создается новый класс исключения CustomError
, который наследует от класса Exception
. Затем исключение вызывается с помощью оператора raise
и обрабатывается в блоке except
.