Step 8 (S-100259)

From Stepik Wiki
Revision as of 19:55, 4 August 2017 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/24463/step/8

Step 8 (S-100259) 1.png

[00:00 - 00:17] до данного варианта мы сами сталкивались только с ошибками которые возникают в процессе исполнения стандартных операций будь то метод стар листа и деление на 0 однако мы вправе сами решать когда в нашей программе произошла ошибка которую необходимо как либо обработать но через мы сами ошибки ловить научимся с вами их бросать


[00:17 - 00:32] мы используем терминологию бросать и ловить исключение лишь потому что исключение далеко не новой темой конечно же они использовались также и в других языках программирования многоязычен литературе будете постоянно встреча термины stroke and catch то есть кидать и исключения можно отловить


[00:32 - 00:48] чтобы бросить исключение в языке python необходимо использовать конструкцию раз в которой он уже затем передать объект нашего исключения давайте сами напишем функцию который будет приветствовать человека по имени однако мы конечно же считаем что мы люди воспитанные и имя


[00:48 - 01:04] эта функция должна начинаться с буквы заглавные этого можем проверить с помощью метода из оперы которые есть в строки далее мы проверили что и меня начинается с заглавной буквы то есть заходим ветку или бросаем наши цели


[01:04 - 01:21] идеологические в питоне целью используются ровно тогда когда аргумент которому передали в функцию по типу в общем то подходит а вот по значению нет так же конструктор насчет вас это понимает единственную строку которая является сообщением дополнительным


[01:21 - 01:38] поэтому исключения тогда когда мы захотим то иначе приятного 2 функции принт от границ от имени антон понкрашов с большой буквы ж мы люди приличные а вот если мы бы не приличные то мы получим ошибку вот здесь мы получаем хорошее значение функции


[01:38 - 01:56] а вот здесь мы получаем наш rr сообщением которое мы указали в качестве аргумента конструктора нашего класса р и здесь мы видим наш стек вызовов для себя сами напишем с помощью данной функции такую программу которая бы мы представлялись


Step 8 (S-100259) 2.png

[01:56 - 02:15] если мы представились и правильно вы с нами здоровалась если мы выписались неправильно она попыталась попросить на снов то есть мы вы здесь написали в цикле while true а 2 блоке мы бы вводить в насчет и не могу сказать что name это импорт


[02:15 - 02:30] а голода сообщение который бы выводил нам терминал далее мы бы стали приветствовать в нашей функции то есть по образованию функции грина name


[02:30 - 02:47] а если а если бы мы встретили very кому вы написали сообщение в досе попробуй снова


[02:47 - 03:02] а если бы наши исключение никакого не произошло потому просто выше из цикла сначала кажется ты вася разделитель затем запусти наш скрипт образ не вести своими здесь обращать внимание на то что


Step 8 (S-100259) 3.png

[03:02 - 03:17] стандартный вот в языке python также сочетается с помощью консоли можем это сделать хорошо если мы введем в наших меня я сначала делаю неправильно а вы просто не подставиться снова своему же правильно тогда он со мной поздоровался


Step 8 (S-100259) 4.png

[03:17 - 03:34] хочу заметить что все исключения которые мы бросаем с помощью райс и все исключение которое было бы с помощью accept должны быть прежде всего экземплярами классов по exception exception такой встроенный а типы языка python которые описывают все исключения языка python


[03:34 - 03:52] давайте на секунду представим что нет такого класса исключения который бы хорошо описал имен то ошибку которая происходит у вас в коде тогда имеет смысл написать свой собственный класс исключения именно для этой ситуации как бы мы это сделаем конечно бы вы написали список не класс


[03:52 - 04:11] да как экземпляр этого класса должен быть а экземплярами даже нибудь так ничего в теле потому что конструктор exception так принимает сообщения о и тогда вместо этого мы будем тратить наше с сообщением


[04:11 - 04:30] тогда когда мы данный кусочек кода запустим убедимся в том что когда мы передали имя антон правильно с большой буквы его выйдет когда ли вы с маленькой буквы насчет оставлять свои исполнении и the exceptions bad name такое название для нашего класса исключения проливать чуть больше света на то что же действительно произошло в нашем коде


[04:30 - 04:41] таким образом чтобы бросить исключение в языке поэтому нужно использовать конструкцию райс если мы хотим написать свой собственный класс исключений то мы должны использовать наследование атласа exception