ПочатиПочніть безкоштовно

Обробка помилок з try-except

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

Як і в попередній вправі, ви бачили, що функція len() уміє працювати з аргументами на кшталт рядків, списків і кортежів, але не з типом int і викидає відповідну помилку та повідомлення про помилку, коли отримує некоректні аргументи. Один зі способів це реалізувати — обробка винятків за допомогою блоку try-except.

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

Згадайте функцію shout_echo(), яку ви визначали в попередніх вправах; частини визначення функції наведено в зразку коду. Ваше завдання — завершити код обробки винятків у визначенні функції та надати доречне повідомлення про помилку під час її викидання.

Ця вправа є частиною курсу

Вступ до функцій у Python

Переглянути курс

Інструкції до вправи

  • Ініціалізуйте змінні echo_word і shout_words порожніми рядками.
  • Додайте ключові слова try і except у відповідні місця блоку обробки винятків.
  • Використайте оператор *, щоб з'єднати echo копій word1. Присвойте результат до echo_word.
  • Додайте рядок '!!!' до echo_word. Присвойте результат до shout_words.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Define shout_echo
def shout_echo(word1, echo=1):
    """Concatenate echo copies of word1 and three
    exclamation marks at the end of the string."""

    # Initialize empty strings: echo_word, shout_words
    
    

    # Add exception handling with try-except
    ____:
        # Concatenate echo copies of word1 using *: echo_word
        echo_word = ____

        # Concatenate '!!!' to echo_word: shout_words
        shout_words = ____
    ____:
        # Print error message
        print("word1 must be a string and echo must be an integer.")

    # Return shout_words
    return shout_words

# Call shout_echo
shout_echo("particle", echo="accelerator")
Редагувати та запускати код