Ошибки и исключения
В 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.