- Головна
-
- Встановлення Python.
- Налаштування віртуального оточення
- Типи даних
- Математичні оператори
- Встроїні функції
- Бібліотеки Python
- Колекція List
- Кортежі Tuple
- Множини (Set)
- Рядки Str
- Список escape-символів
- Колекція Dictionary
- Множина frozenset
- Класи та об'єкти
- Винятки
- Пакетні менеджери
- Перевантаження операторів
- Робота з файлами та директоріями
- HttpClient
- HTTPServer
- Модуль socket
- Робота з пошту
- Багатопоточність
- Асинхронні методи
- Event Loop
- Обхід GIL
- Черга deque
- Масиви постійного розміру
-
- Webpack. Базове складання проекту
- GULP. SCSS. Налаштування оточення
- SCSS стилі особливості
- Шпаргалка SQL
- MySQL dump
- Git команди
- Розгорнути ssh git репозиторію на сервері
- Консольні команди
- Декілька версій PHP на сервері
- PHPStorm+xDebug+OpenServer
- PHPUnit + OpenServer
- Додати застосунок з Windows Store в автозавантаження
- Зовнішні посилання
Винятки
Список найпопулярніших винятків
| Виняток | Опис |
|---|---|
| Exception | Базовий клас для всіх винятків. |
| IndexError | Виникає при зверненні до неіснуючого індексу у послідовності (наприклад, список або кортеж). |
| KeyError | Виникає при зверненні до неіснуючого ключа в словнику. |
| NameError | Виникає при зверненні до неіснуючої змінної. |
| RuntimeError | Виникає при загальній помилці часу виконання, не відносячися до інших типів винятків. |
| StopIteration | Виникає для сигналізації про закінчення ітерації. |
| SyntaxError | Виникає при синтаксичній помилці в коді. |
| IndentationError | Виникає при помилці відступів у коді (підтип SyntaxError). |
| TabError | Виникає при змішуванні табуляцій і пробілів для відступів (підтип IndentationError). |
| TypeError | Виникає при спробі виконання операції з несумісними типами даних. |
| UnboundLocalError | Виникає при зверненні до локальної змінної до її оголошення (підтип NameError). |
| ValueError | Виникає при передачі функції або операції аргументу з неправильним значенням. |
| ZeroDivisionError | Виникає при діленні на нуль. |
Перехоплення виключень
Конструкція try-except
try:
result = 10 / 0
except ZeroDivisionError:
print("Помилка: ділення на нуль.")Обробка кількох виключень
try:
result = int("abc")
except ZeroDivisionError:
print("Помилка: ділення на нуль.")
except ValueError:
print("Помилка: некоректне значення.")Один блок except з кортежем виключень
try:
# Код, який може викликати виключення
result = int("abc")
except (ValueError, ZeroDivisionError) as e:
print(f"Сталася помилка: {e}")Перехоплення всіх виключень
try:
result = 10 / 0
except:
print("Виникла помилка.")Конструкція try-except-else
try:
result = 10 / 2
except ZeroDivisionError:
print("Помилка: ділення на нуль.")
else:
print(f"Результат: {result}")Конструкція try-except-finally
try:
result = 10 / 0
except ZeroDivisionError:
print("Помилка: ділення на нуль.")
finally:
print("Цей блок виконується завжди.")Що містить в собі помилка
- args: Кортеж, що містить аргументи, передані при створенні виключення. Зазвичай це повідомлення про помилку.
- message: Рядок, що містить повідомлення про помилку (в деяких виключеннях).
- __str__: Метод, що повертає рядкове представлення виключення. Цей метод використовується для отримання текстового представлення помилки, яке буде повернуто при використанні функції print() на об'єкті виключення.
Намірений запуск виключень
def check_number(value):
if value < 0:
raise Exception("Вибач, числа менше нуля не дозволені")
try:
check_number(-5)
except Exception as e:
print(f"Виключення спіймане: {e}")Переупакування виключення
class EmptyVariableError(Exception):
pass
def check_non_empty(value):
if value == "":
raise ValueError("Змінна порожня")
try:
check_non_empty("")
except ValueError as e:
raise EmptyVariableError("Порожня змінна виявлена") from e
2015-2026 © SumyNikNet