DEV Community

Cover image for Виключення
Григорій Лізанець
Григорій Лізанець

Posted on • Edited on

Виключення

Тема відлову і обробки помилок досить цікава, тому їй присвячений цей пост. Нижче, в коментах будуть приклади і варіанти. Якщо є щось нетривіального додати - ласкаво прошу! Не стримуйте себе.

Top comments (2)

Collapse
 
gr555 profile image
Григорій Лізанець • Edited

Спробую відловити помилку у циклі:

my_list = [1, 2, 3, 4, 0]

for i in my_list:
    try:
        print(10 / i)
    except ZeroDivisionError:
        print('Wrong operation')
    else:
        print('Good operation')
Enter fullscreen mode Exit fullscreen mode

На виході маю:

10.0
Good operation
5.0
Good operation
3.3333333333333335
Good operation
2.5
Good operation
Wrong operation
Enter fullscreen mode Exit fullscreen mode

Що значить, поки все йшло гладко - виконувався else. Коли зайшла помилка, спацював блок except з позначеним типом помилки. (В цьому випадку помилка ділення на нуль)

Collapse
 
gr555 profile image
Григорій Лізанець

Перший і найпростіший приклад, який хотів опрацювати:

text = input('Phone Number: ') # просимо ввести цифри номеру

try:
    number = int(text) # перетворюємо рядок інпуту на інтеджер
    print(number) # якщо користувач увів цифри - друкуємо
except:
    print('Invalid Phone Number') # якщо ні - друкуємо текст помилки
Enter fullscreen mode Exit fullscreen mode

Ніби все просто, але треба ще практики, щоби осмислити і зрозуміти, як це працює..