class MyError(Exception):
def __init__(self, message):
self.message = message
try:
raise MyError("Что-то пошло не так")
except MyError as e:
print(e.message)
MyError
, которое принимает сообщение при инициализации. Затем, в блоке try
, вызывается исключение MyError
с сообщением "Что-то пошло не так". Блок except
перехватывает это исключение и выводит сообщение, хранящееся в атрибуте message
экземпляра исключения e
. В результате, на экран будет выведено: "Что-то пошло не так".
Разбор кода:
Данный код демонстрирует простейшую обработку пользовательского исключения в Python.
MyError
, который наследуется от базового класса Exception
. Это необходимо, чтобы MyError
стал полноценным исключением.__init__
класса MyError
принимает один аргумент message
, который используется для хранения описания ошибки. Это описание ошибки сохраняется в атрибуте экземпляра self.message
.try...except
:try
: Внутри блока try
генерируется исключение MyError
с сообщением "Что-то пошло не так". Оператор raise
используется для явного вызова исключения.except MyError as e
: Блок except
перехватывает исключение типа MyError
. as e
присваивает перехваченное исключение переменной e
.except
выводится значение атрибута e.message
, который содержит сообщение об ошибке, переданное при создании исключения.Результат выполнения:
При выполнении кода в консоль будет выведено следующее:
Что-то пошло не так
Объяснение:
Сначала вызывается исключение MyError
. Затем, благодаря блоку try...except
, исключение перехватывается. В блоке except
печатается сообщение, связанное с исключением, которое было передано при его создании.
Важность в контексте собеседования:
Данный пример проверяет понимание следующих концепций Python:
try...except
для обработки исключений.Exception
).