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
Hướng dẫn bài tập
- Khởi tạo các biến
echo_wordvàshout_wordsthành chuỗi rỗng. - Thêm các từ khóa
tryvàexceptvào vị trí phù hợp trong khối xử lý ngoại lệ. - Dùng toán tử
*để nốiechobản sao củaword1. Gán kết quả choecho_word. - Nối chuỗi
'!!!'vàoecho_word. Gán kết quả choshout_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")