Penanganan error dengan try-except
Praktik yang baik saat menulis fungsi Anda sendiri adalah mengantisipasi cara-cara orang lain (atau Anda sendiri, jika Anda keliru menggunakan fungsi Anda) mungkin menggunakan fungsi yang Anda definisikan.
Seperti pada latihan sebelumnya, Anda melihat bahwa fungsi len() dapat menangani argumen masukan seperti string, list, dan tuple, tetapi tidak untuk tipe int, dan akan memunculkan error serta pesan error yang sesuai ketika menemukan argumen masukan yang tidak valid. Salah satu cara melakukannya adalah melalui penanganan eksepsi dengan blok try-except.
Dalam latihan ini, Anda akan mendefinisikan sebuah fungsi sekaligus menggunakan blok try-except untuk menangani kasus ketika argumen masukan yang tidak benar diberikan ke fungsi.
Ingat kembali fungsi shout_echo() yang Anda definisikan pada latihan sebelumnya; sebagian dari definisi fungsi disediakan dalam kode contoh. Tujuan Anda adalah melengkapi kode penanganan eksepsi dalam definisi fungsi dan menyediakan pesan error yang sesuai saat memunculkan error.
Latihan ini adalah bagian dari kursus
Pengantar Fungsi di Python
Petunjuk latihan
- Inisialisasi variabel
echo_worddanshout_wordssebagai string kosong. - Tambahkan kata kunci
trydanexceptpada lokasi yang tepat untuk blok penanganan eksepsi. - Gunakan operator
*untuk menggabungkanechosalinan dariword1. Simpan hasilnya keecho_word. - Gabungkan string
'!!!'keecho_word. Simpan hasilnya keshout_words.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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")