Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Pengendalian Pengecualian
Apabila anda membuat pengaturcaraan, kesilapan berlaku. Ia hanyalah satu realiti kehidupan. Mungkin pengguna memberikan input yang salah. Mungkin sumber rangkaian tidak tersedia. Mungkin program kehabisan memori. Atau mungkin juga pengaturcara membuat kesilapan!
Penyelesaian Python kepada kesilapan adalah pengecualian. Anda mungkin pernah melihat pengecualian sebelum ini.
print(a)
#error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
Oops! Terlupa untuk memberikan nilai kepada pembolehubah 'a'.
Tetapi kadang-kadang anda tidak mahu pengecualian untuk menghentikan program sepenuhnya. Anda mungkin ingin melakukan sesuatu yang istimewa apabila pengecualian berlaku. Ini dilakukan dalam blok try/except.
Berikut adalah contoh asas: Katakan anda mengulang melalui senarai. Anda perlu mengulang melalui 20 nombor, tetapi senarai itu dibuat daripada input pengguna, dan mungkin tidak mempunyai 20 nombor di dalamnya. Selepas anda mencapai penghujung senarai, anda hanya mahu nombor yang selebihnya ditafsirkan sebagai 0. Inilah cara anda melakukannya:
def do_stuff_with_number(n):
print(n)
def catch_this():
the_list = (1, 2, 3, 4, 5)
for i in range(20):
try:
do_stuff_with_number(the_list[i])
except IndexError: # Raised when accessing a non-existing index of a list
do_stuff_with_number(0)
catch_this()
Nah, itu tidaklah terlalu sukar! Anda boleh melakukannya dengan sebarang pengecualian. Untuk maklumat lanjut tentang pengendalian pengecualian, lihat sahaja pada Dokumen Python
Exercise
Tangani semua pengecualian! Fikirkan kembali pelajaran sebelum ini untuk mengembalikan nama belakang pelakon.
# Setup
actor = {"name": "John Cleese", "rank": "awesome"}
# Function to modify!!!
def get_last_name():
return actor["last_name"]
# Test code
get_last_name()
print("All exceptions caught! Good job!")
print("The actor's last name is %s" % get_last_name())
actor = {"name": "John Cleese", "rank": "awesome"}
def get_last_name():
return actor["name"].split()[1]
get_last_name()
print("All exceptions caught! Good job!")
print("The actor's last name is %s" % get_last_name())
test_output_contains("Cleese")
test_output_contains("All exceptions caught! Good job!")
test_output_contains("The actor's last name is Cleese")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!