Python Try Except: покрокові приклади

Як програміст, ви можете зіткнутися з ситуаціями, коли ваш код може зіткнутися з помилками або винятками, тому дуже важливо розуміти, як обробляти різні типи помилок у вашому коді. Обробка помилок є важливою частиною циклу кодування. Одним із поширених способів обробки помилок у Python є використання техніки try-except.

Техніка try-except складається з блоку try і блоку exception. Блок try містить код, який може генерувати помилку або виняткову ситуацію, а блок винятків містить код для обробки цих помилок або винятків.

Python Try Except: покрокові приклади

Коли ваш код виконується без будь-яких проблем у блоці try, блок винятків пропускається. Однак, якщо в блоці try виникає помилка чи виняткова ситуація, для вирішення проблеми буде виконано код, який ви написали в блоці винятків.

У цій статті ми обговоримо блок try-expect Python , різні типи помилок і винятків, з якими ви можете зіткнутися під час написання коду, і те, як ви можете їх обробляти за допомогою операторів try-except.

Давайте потрапимо в це!

Зміст

Які є типи помилок у Python?

У Python помилки можна приблизно класифікувати на два основні типи:

1. Синтаксичні помилки : вони також відомі як помилки аналізу, викликані неправильною граматикою в коді. Синтаксичні помилки виявляються інтерпретатором Python і призупиняють виконання вашої програми.

Нижче наведено

print("Hello, world!"

У цьому прикладі відсутня закриваюча дужка, тому Python не розуміє цю інструкцію, а отже, це синтаксична помилка.

Python Try Except: покрокові приклади

Винятки : Винятки виникають, коли під час виконання програми щось йде не так, навіть якщо код синтаксично правильний. Вони можуть включати логічні помилки або помилки виконання, такі як недійсні введення або ділення на нуль.

Наступна функція є прикладом винятку в Python:

print(5 / 0)

Цей рядок коду спричинить виняток ZeroDivisionError, який трапляється, коли ви намагаєтеся поділити число на нуль.

Python Try Except: покрокові приклади

На зображенні вище ви бачите, що виняток стався, коли ми розділили 5 на 0.

Тепер, коли ви розумієте, які винятки існують у Python, ми побачимо, як ми можемо обробляти винятки за допомогою оператора Try-Except у Python. Давайте розглянемо синтаксис блоків Try і Except у Python у наступному розділі.

Що таке синтаксис Try and Except Block?

Синтаксис функції визначає, як ви повинні використовувати цю функцію у своєму коді, зокрема, які аргументи вона приймає та що повертає.

Нижче ми перерахували синтаксис речення try та блоків Except, а також блоки else та finally .

1. Синтаксис оператора Try

Оператор try дозволяє перевірити блок коду на помилки. Коли ви пишете код у блоці try , Python виконає його як звичайну частину вашої програми.

Щоб використати оператор try , просто вставте свій код у блок try :

try: # Your code here

2. Синтаксис речення Except

Речення exception обробляє помилки, які можуть виникнути під час виконання блоку try . Ви можете вказати тип винятку, який ви хочете перехопити, або використати загальний оператор винятку для обробки всіх винятків.

Наступний синтаксис показує певний тип винятку:

try: # Your code here except ValueError: # Handle ValueError exception

Щоб обробити загальні класи винятків або кілька винятків, ви можете використовувати наведений нижче синтаксис:

try: # Your code here except Exception: # Handle any exception

3. Синтаксис пропозиції/блоку Else

Речення else дозволяє вам виконувати блок коду, якщо в блоці try немає помилок .

Щоб використовувати речення else , ви можете розмістити його після блоку винятків , як показано нижче:

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors

4. Синтаксис Finally Block

Блок finally дозволяє вам виконувати код, незалежно від результату блоків try і exception . Це може бути корисним для дій, які ви хочете виконати, незалежно від того, було викликано виключення чи ні.

Щоб використовувати блок finally , ви можете розмістити його після блоку else :

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors finally: # Code to execute regardless of the result of the try and except blocks

Щоб побачити наведений вище синтаксис у дії, ми розглянемо приклад обробки винятків за допомогою блоку try-except у Python.

Обробка винятків за допомогою Try-Except у Python

Коли виникає помилка, Python зазвичай зупиняється та генерує повідомлення про помилку. Ви можете обробляти кілька винятків, використовуючи блок try and exception .

У наведеному нижче прикладі ми обробляємо помилку ділення на нуль, яка раніше була згенерована під час ділення 5 на 0.

try: print(5 / 0) except ZeroDivisionError: print("You can't divide by zero!")

У цьому коді виникає виняток, але програма продовжить роботу та виведе «Ви не можете ділити на нуль!» замість того, щоб зупинитися з помилкою.

Python Try Except: покрокові приклади

Використання блоків try і osim дозволяє контролювати потік вашої програми. Обробляючи певні винятки , ви можете надати корисний відгук користувачеві та підтримувати роботу вашої програми, коли з’являється помилка.

У наведеному вище прикладі ви бачите, що для обробки випадку ми використали вбудований виняток ZeroDivisionError. Подібно до цього, існують також інші типи вбудованих винятків.

Знайомство з цими типами винятків допоможе вам вирішити, яке очікування використовувати, коли ви зіткнетеся з помилкою у своєму коді Python, тому давайте розглянемо деякі винятки в наступному розділі.

Які є типи вбудованих винятків?

У Python винятками є екземпляри класу, похідного від класу BaseException. Коли виявляються помилки, Python викликає виняток. Є кілька вбудованих винятків, з якими ви, ймовірно, зіткнетеся, коли будете писати програми на Python.

Давайте розглянемо деякі з найпоширеніших:

  1. ZeroDivisionError: це відбувається, коли ви намагаєтеся поділити число на нуль.

  2. NameError: це виникає, коли ви намагаєтеся використати змінну або функцію, які не були визначені.

  3. ValueError : трапляється, коли ви передаєте аргумент правильного типу, але з недійсним значенням.

  4. TypeError : ця помилка виникає, коли ви передаєте аргумент неправильного типу даних.

  5. FileNotFoundError : трапляється, коли ви намагаєтеся відкрити або отримати доступ до файлу, якого не існує.

  6. ImportError : Виникає, коли ви намагаєтеся імпортувати модуль або пакет, який не існує або не може бути знайдений.

Інші відповідні винятки включають:

  1. OverflowError: ця помилка виникає, коли результат обчислення завеликий для представлення.

  2. FloatingPointError: ця помилка виникає, коли не вдається виконати операцію з плаваючою комою.

  3. IndexError: трапляється, коли ви намагаєтеся отримати доступ до індексу, який виходить за межі діапазону послідовності (наприклад, списку або кортежу).

  4. KeyError: вин��кає під час спроби отримати доступ до ключа, якого немає в словнику.

  5. EOFError: виникає, коли Python зустрічає кінець файлу (EOF) під час читання вхідних даних, як правило, через виклик read().

  6. ArithmeticError: суперклас для арифметичних винятків, таких як ZeroDivisionError, OverflowError і FloatingPointError.

Іноді може знадобитися використовувати визначені користувачем виключення, такі як оператор pass у блоці, де очікується виняток. Це слід робити зважено, оскільки це може придушити інші винятки.

Ми надали вам наведений вище список поширених помилок винятків, щоб ви могли використовувати його як програми.

Будь ласка, зверніть увагу, що більшість винятків можна перехопити та обробити, але слід подбати про обробку останнього виклику, щоб уникнути вкладеної обробки інших випадків винятків.

У наступному розділі ми розглянемо блок try-except у Python. Давайте потрапимо в це!

5 випадків використання блоку Try-Except

Спробуйте Блокувати винятки — один із широко використовуваних методів обробки помилок. Нижче наведено деякі випадки використання блоку Try Except у Python:

1. Обробка файлів за допомогою Try Except

Під час роботи з файлами завжди існує ймовірність, що файл не існує або знаходиться не в тому місці, з якого ваш сценарій намагається отримати до нього доступ.

Наступний код викличе виняткову ситуацію, коли ми спробуємо відкрити файл, якого немає.

try: with open('file.txt', 'r') as file: print(file.read()) except FileNotFoundError: print('Sorry, this file does not exist.')

У цьому коді ми намагаємося відкрити та прочитати файл під назвою «file.txt». Якщо 'file.txt' не існує, виникає виняток, але замість повідомлення про помилку, що зупиняє вашу програму, вона надрукує "Вибачте, цей файл не існує".

Python Try Except: покрокові приклади

2. Обробка користувацького введення за допомогою Try Except

Іншою областю, де часто трапляються винятки, є введення користувачами. Користувачі можуть надавати дані в неочікуваному форматі або вводити дані, які виходять за межі прийнятного діапазону.

У наступному прикладі показано, як обробляти введені користувачем дані за допомогою блоку try-except:

try: age = int(input("Enter your age: ")) except ValueError: print("That's not a valid age. Please enter a number.")

У цьому коді ми просимо користувача ввести свій вік. Якщо вони вводять щось, що не можна перетворити на ціле число (наприклад, слово чи букву), виникає виняток, але замість збою програми вона виведе «Це недійсний вік». Будь ласка, введіть число.'

Python Try Except: покрокові приклади

3. Доступ до неіснуючих ключів словника

У Python словник є змінним, невпорядкованим, де кожен ключ має бути унікальним.

Коли ви намагаєтеся отримати доступ до ключа, якого немає в словнику, Python викликає KeyError. Щоб обробити цю виняток, можна використати команду try and exception, як показано в прикладі нижче:

dictionary = {"key1": "value1", "key2": "value2"} try: print(dictionary["key3"]) except KeyError: print("The key does not exist in the dictionary.")

У цьому коді ви намагаєтеся надрукувати значення для "key3" зі словника. Якщо 'key3' не існує в словнику, виникає виняток, але замість того, щоб програма зупинилася з помилкою, вона виведе «Ключ не існує в словнику».

Python Try Except: покрокові приклади

4. Перетворення рядка в ціле число

Бувають випадки, коли потрібно перетворити a на ціле число. Але якщо рядок не представляє дійсне ціле число, Python викличе ValueError.

Для обробки цього випадку можна використовувати команду try and exception:

try: num = int("hello") except ValueError: print("That string can't be converted to integer.")

У цьому випадку «hello» не можна перетворити на ціле число, тому Python викликає помилку ValueError і друкує «Цей рядок не може бути перетворено на ціле».

Python Try Except: покрокові приклади

5. Імпортування модуля

Коли , можливо, що модуль не існує або не встановлено. У таких випадках Python викличе ImportError.

Для обробки цього випадку ви можете використовувати наступний код:

try: import some_module except ImportError: print("The module 'some_module' is not installed.")

У наведеному вище прикладі, якщо «some_module» не встановлено або не існує, Python викличе повідомлення ImportError і надрукує «Модуль 'some_module' не встановлено.'

Python Try Except: покрокові приклади

Щоб дізнатися більше про написання коду на Python і обробку очікувань, перегляньте таке відео:

Далі ми розглянемо деякі з найкращих практик обробки винятків. Давайте зануримося в це!

Найкращі методи обробки винятків

У цьому розділі ми перерахували деякі з найкращих методів обробки винятків за допомогою блоку Try Except. Деякі найкращі методи обробки винятків:

1. Будьте конкретними з винятками

Під час написання коду вкрай важливо якомога точніше перехоплювати винятки. Це означає, що замість того, щоб просто ловити загальну назву винятку, ви повинні ловити фактичний тип винятку, який ви очікуєте.

Таким чином ви точно знатимете, яка помилка сталася, і зможете її належним чином усунути.

2. Не пригнічуйте винятки

Коли ви маєте справу з винятками, у вас може виникнути спокуса просто перехопити їх за допомогою обробника винятків і нічого з ним не робити. Загалом це погана ідея.

Якщо трапляється помилка, зазвичай це тому, що потрібно щось виправити. Якщо ви придушите клас винятків, помилка може залишитися непоміченою та спричинити проблеми пізніше.

3. Використовуйте Finally для коду очищення

Іноді у вас є код, який потрібно запустити незалежно від того, сталася помилка чи ні. Це може бути щось на зразок закриття файлу або звільнення деяких ресурсів.

У цих випадках можна використовувати блок finally . Код у блоці finally виконуватиметься незважаючи ні на що, тому це чудове місце для розміщення коду очищення.

try: # Some code here finally: # This code will run no matter what

4. За потреби створюйте винятки

Можуть бути ситуації, коли вам потрібно повідомити користувача вашого коду, що щось пішло не так.

У цих випадках ви можете створити виняток. Це негайно зупинить виконання вашого коду та повідомить користувача про помилку.

if not valid_input: raise ValueError("Your input was not valid!")

Розуміння та застосування цих передових методів зробить ваш код надійнішим, легшим для налагодження та запобіжить неочікуваним збоям.

Заключні думки

Підводячи підсумок, знання того, як використовувати try і osim у Python, дійсно допомагає, коли ви пишете свій код і стикаєтеся з винятками в ньому.

Вони дозволяють вашій програмі плавно справлятися з помилками, а не просто раптово зупинятися. Це спосіб переконатися, що ваш код справляється з несподіванками та продовжує працювати.

Крім того, коли ви використовуєте спроби та крім, це показує, що ви справді думаєте про те, що може піти не так, і готуєтеся до цього. Тож знайдіть час, щоб вивчити ці інструменти — вони надзвичайно корисні, коли ви пишете код на Python!


Поле пошуку PowerApps: як додати та налаштувати

Поле пошуку PowerApps: як додати та налаштувати

Дізнайтеся, як створити поле пошуку PowerApps з нуля та налаштувати його відповідно до загальної теми вашої програми.

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Приклад SELECTEDVALUE DAX – вибір розділювача врожаю

Збирайте або фіксуйте значення в мірі для повторного використання в іншій мірі для динамічних обчислень за допомогою SELECTEDVALUE DAX у LuckyTemplates.

Історія версій у списках SharePoint

Історія версій у списках SharePoint

Дізнайтеся, як історія версій у SharePoint може допомогти вам побачити еволюцію певних даних і скільки змін вони зазнали.

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Вибір шістнадцяткових кодів кольорів для звітів LuckyTemplates

Ось інструмент для створення звітів і візуальних матеріалів, засіб вибору шістнадцяткових кодів кольорів, за допомогою якого можна легко отримати кольори для звітів LuckyTemplates.

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Динамічний роздільник дат у LuckyTemplates із використанням таблиці Менделєєва

Ви можете легко відобразити діапазон дат як роздільник у своєму звіті за допомогою таблиці періодів. Використовуйте M-код, щоб створити динамічний роздільник дат у LuckyTemplates.

Таблиці пропорцій і частот в Excel

Таблиці пропорцій і частот в Excel

Збирався зануритися в частотні таблиці в Excel, а також у таблиці пропорцій. Добре подивіться, що це таке і коли їх використовувати.

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Як інсталювати DAX Studio та табличний редактор у LuckyTemplates

Дізнайтеся, як завантажити та інсталювати DAX Studio та Tabular Editor 3 і як налаштувати їх для використання в LuckyTemplates і Excel.

Візуалізація карти форми LuckyTemplates для просторового аналізу

Візуалізація карти форми LuckyTemplates для просторового аналізу

Цей блог містить візуалізацію Shape Map для просторового аналізу в LuckyTemplates. Я покажу вам, як ви можете ефективно використовувати цю візуалізацію з її функціями та елементами.

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

Фінансова звітність LuckyTemplates: розподіл результатів за шаблонами в кожному окремому рядку

У цьому підручнику я демонструю унікальну ідею щодо фінансової звітності, яка полягає в розподілі результатів для попереднього визначення шаблонів таблиць у LuckyTemplates.

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Вимірювання DAX у LuckyTemplates за допомогою розгалуження вимірювання

Створіть показники DAX у LuckyTemplates, використовуючи наявні показники або формули. Це те, що я називаю технікою розгалуження міри.