Bắt đầu ngayBắt đầu miễn phí

Xử lý lỗi với try-except

Một thực hành tốt khi viết hàm của riêng bạn là dự đoán những cách mà người khác (hoặc chính bạn, nếu vô tình dùng sai) có thể sử dụng hàm bạn đã định nghĩa.

Như trong bài trước, bạn thấy rằng hàm len() có thể xử lý đối số đầu vào như chuỗi, list và tuple, nhưng không xử lý được kiểu int và sẽ đưa ra lỗi cùng thông báo phù hợp khi gặp đối số không hợp lệ. Một cách để làm điều này là xử lý ngoại lệ với khối try-except.

Trong bài này, bạn sẽ định nghĩa một hàm và dùng khối try-except để xử lý các trường hợp truyền đối số đầu vào không đúng vào hàm.

Hãy nhớ lại hàm shout_echo() bạn đã định nghĩa ở các bài trước; một phần định nghĩa hàm đã được cung cấp trong mã mẫu. Mục tiêu của bạn là hoàn thiện phần xử lý ngoại lệ trong định nghĩa hàm và cung cấp thông báo lỗi phù hợp khi phát sinh lỗi.

Bài tập này là một phần của khóa học

Giới thiệu về Functions trong Python

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo các biến echo_wordshout_words thành chuỗi rỗng.
  • Thêm các từ khóa tryexcept vào vị trí phù hợp trong khối xử lý ngoại lệ.
  • Dùng toán tử * để nối echo bản sao của word1. Gán kết quả cho echo_word.
  • Nối chuỗi '!!!' vào echo_word. Gán kết quả cho shout_words.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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")
Chỉnh sửa và Chạy Mã