Lewati ke konten utama

F1 · Modul 09

Galat dan debugging

59 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • Galat (exception) menghentikan program kecuali ditangani. Baris terakhirnya berisi jenis dan pesan; traceback dibaca dari bawah ke atas.
  • try/except NamaGalat menangani galat yang kamu tahu cara mengatasinya. Tangkap yang spesifik, jangan except: polos.
  • else berjalan bila try lancar, finally selalu berjalan.
  • raise ValueError("pesan") menolak masukan yang salah; pesan yang baik menyebut apa yang salah dan contoh yang benar.
  • Debugging yang teratur: cetak nilai, buat reproduksi minimal, baca dokumentasi, jelaskan baris demi baris.

Sebelum mulai

±4 jam.

Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.

Hasil belajar: membaca traceback dari bawah ke atas dan menemukan baris penyebabnya; mengenali tujuh jenis galat yang paling sering muncul; menangkap galat dengan try/except yang spesifik, lengkap dengan else dan finally; memunculkan galat sendiri dengan raise dan pesan yang jelas; meminta masukan ulang sampai benar; membedakan kapan memakai assert dan kapan memakai galat; serta men-debug program dengan cara yang teratur; dan (pendalaman) melihat galat merambat lewat tumpukan pemanggilan dan galat bersambung dengan raise ... from.

Proyek: kasku langkah 9: parse_jumlah yang menolak masukan aneh dengan ValueError, lalu tambah dan hapus yang memvalidasi data sebelum mengubah daftar transaksi.

Istilah di modul ini (45)

Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course

Bahan modul

Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.

  • 44 contoh kode
  • 8 berkas latihan + tes
Lihat isi zip
  • BACA-DULU.txt
  • contoh_f1_09_26.py
  • contoh_f1_09_50.py
  • contoh_f1_09_65.py
  • contoh_f1_09_160.py
  • contoh_f1_09_184.py
  • contoh_f1_09_208.py
  • contoh_f1_09_232.py
  • contoh_f1_09_251.py
  • contoh_f1_09_275.py
  • contoh_f1_09_297.py
  • contoh_f1_09_317.py
  • contoh_f1_09_340.py
  • contoh_f1_09_356.py
  • contoh_f1_09_456.py
  • contoh_f1_09_477.py
  • contoh_f1_09_506.py
  • contoh_f1_09_532.py
  • contoh_f1_09_556.py
  • contoh_f1_09_584.py
  • contoh_f1_09_611.py
  • contoh_f1_09_731.py
  • contoh_f1_09_797.py
  • contoh_f1_09_824.py
  • contoh_f1_09_850.py
  • contoh_f1_09_892.py
  • contoh_f1_09_937.py
  • contoh_f1_09_962.py
  • contoh_f1_09_991.py
  • contoh_f1_09_1018.py
  • contoh_f1_09_1040.py
  • contoh_f1_09_1222.py
  • contoh_f1_09_1346.py
  • contoh_f1_09_1374.py
  • contoh_f1_09_1578.py
  • contoh_f1_09_1607.py
  • contoh_f1_09_1624.py
  • contoh_f1_09_1639.py
  • contoh_f1_09_1955.py
  • contoh_f1_09_1982.py
  • contoh_f1_09_2025.py
  • contoh_f1_09_2064.py
  • contoh_f1_09_2093.py
  • contoh_f1_09_2119.py
  • contoh_f1_09_2166.py
  • test_f1_09_1.py
  • test_f1_09_4.py
  • test_f1_09_2.py
  • test_f1_09_7.py
  • test_f1_09_3.py
  • test_f1_09_8.py
  • test_f1_09_5.py
  • test_f1_09_6.py