Penanganan error

Python Tingkat Menengah untuk Pengembang

Jasmin Ludolf

Senior Data Science Content Developer

Traceback Pandas

Traceback menampilkan kode yang sengaja memunculkan error

  • except, raise

  • Antisipasi kemungkinan terjadinya error

Python Tingkat Menengah untuk Pengembang

Design thinking

  • Bagaimana orang akan memakai fungsi kustom kita?
  • Uji berbagai pendekatan
  • Temukan potensi error

Beragam jenis perjalanan di kota

Python Tingkat Menengah untuk Pengembang

Penanganan error dalam fungsi kustom

def average(values):
    # Hitung rata-rata
    average_value = sum(values) / len(values)
    return average_value
Python Tingkat Menengah untuk Pengembang

Di mana letak kesalahannya?

  • average() mengharapkan list atau set
  • Memberikan lebih dari satu argumen 🛑
  • Menggunakan tipe data salah 🛑
Python Tingkat Menengah untuk Pengembang

Di mana letak kesalahannya?

sales_dict = {"cust_id": ["JL93", "MT12", "IY64"],
              "order_value": [43.21, 68.70, 82.19]}
print(average(sales_dict))

Traceback dengan TypeError

Python Tingkat Menengah untuk Pengembang

Penanganan error sebelumnya

  • Alur kontrol if, elif, else
  • Docstring
Python Tingkat Menengah untuk Pengembang

try-except

def average(values):

try:
# Kode yang bisa memicu error average_value = sum(values) / len(values) return average_value
except:
# Kode saat error terjadi print("average() menerima list atau set. Harap berikan tipe data yang benar.")
Python Tingkat Menengah untuk Pengembang

raise

def average(values):
    # Periksa tipe data
    if type(values) in (list, set):

# Jalan jika tipe data sesuai average_value = sum(values) / len(values) return average_value
Python Tingkat Menengah untuk Pengembang

raise

def average(values):
    # Periksa tipe data
    if type(values) in (list, set):

# Jalan jika tipe data sesuai average_value = sum(values) / len(values) return average_value
else: # Jalan saat Exception terjadi raise
Python Tingkat Menengah untuk Pengembang

raise TypeError

def average(values):
    # Periksa tipe data
    if type(values) in (list, set):

# Jalan jika tipe data sesuai average_value = sum(values) / len(values) return average_value
else: # Jalan saat Exception terjadi raise TypeError("average() menerima list atau set, harap berikan tipe data yang benar.")
Python Tingkat Menengah untuk Pengembang

Output raise TypeError

print(average(sales_dict))

Output TypeError menampilkan pesan kustom untuk memberikan tipe data yang benar

Python Tingkat Menengah untuk Pengembang

try-except vs. raise

try-except

  • Mencegah error muncul
  • Kode berikutnya tetap berjalan

raise

  • Akan memunculkan error
  • Menghentikan kode berikutnya
Python Tingkat Menengah untuk Pengembang

Ayo berlatih!

Python Tingkat Menengah untuk Pengembang

Preparing Video For Download...