Вступ до помилок

Середній рівень Python для розробників

Jasmin Ludolf

Senior Data Science Content Developer

Що таке помилка?

  • Код порушує правило
  • Error = Exception
  • Спричиняє завершення програми!

Ієрархія деяких винятків Python

1 https://docs.python.org/3/library/exceptions.html#exception-hierarchy
Середній рівень Python для розробників

TypeError

  • Несумісний тип даних
"Hello" + 5

Вивід TypeError: рядки та цілі не можна поєднувати

Середній рівень Python для розробників

ValueError

float("Hello")

Вивід ValueError: рядок 'Hello' не можна перетворити на float

  • Значення поза припустимим діапазоном
float("2")

Вивід із результатом 2.0 без помилки

Середній рівень Python для розробників

Tracebacks

Повідомлення Traceback

Середній рівень Python для розробників

Tracebacks

Traceback із підсвіченим типом помилки

Середній рівень Python для розробників

Tracebacks

Traceback із підсвіченим кодом, що спричинив помилку

Середній рівень Python для розробників

Код у пакетах

  • Пакети містять чужий код, напр., власні функції
  • Це називається вихідним кодом
  • pip install <package> завантажує вихідний код у ваше локальне середовище
  • Функція pandas pd.read_csv() «за лаштунками» виконує написаний для неї код
Середній рівень Python для розробників

Tracebacks із пакетів

# Import pandas package
import pandas as pd

# Create pandas DataFrame                 
products = pd.DataFrame({"ID": "ABC1",
                         "price": 29.99})

# Try to access the non-existent "tag" column
products["tag"]
Середній рівень Python для розробників

Tracebacks із пакетів

Traceback під час спроби взяти підмножину DataFrame pandas за неіснуючим стовпцем

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback з файлом, що спричинив помилку під час виконання, і типом помилки KeyError

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із підсвіченим рядком 3803

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із підсвіченим base.py

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із підсвіченим KeyError

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із рядком у нашому коді, що спричинив помилку

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із кодом, що навмисне повертає помилку

Середній рівень Python для розробників

Tracebacks із пакетів

Traceback із підсвіченим Raised

Середній рівень Python для розробників

Давайте потренуємось!

Середній рівень Python для розробників

Preparing Video For Download...