0Pricing
Python Academy · Pelajaran

Memahami Pengecualian

Pelajari apa itu pengecualian dan cara Python memunculkannya.

Memahami Pengecualian adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Pendahuluan

Pengecualian adalah mekanisme Python untuk menandai dan menangani kesalahan saat program dijalankan.

Apa Itu Pengecualian

Pengecualian adalah peristiwa yang mengganggu alur normal program. Python memunculkan pengecualian saat terjadi kesalahan — misalnya, saat membagi dengan nol.
# 1 / 0  # raises ZeroDivisionError
print('exceptions demo')

Hierarki Pengecualian

Semua pengecualian mewarisi BaseException. Sebagian besar pengecualian yang ditujukan kepada pengguna mewarisi Exception. Tipe khusus meliputi ValueError, TypeError, KeyError, dan sebagainya.
print(issubclass(ValueError, Exception))
print(issubclass(Exception, BaseException))

Pengecualian Bawaan yang Umum

TypeError: tipe yang salah. ValueError: tipe benar, nilai salah. KeyError: kunci kamus tidak ada. IndexError: indeks daftar di luar rentang. AttributeError: atribut tersebut tidak ada.
# Examples:
# int('abc')       -> ValueError
# d['missing']     -> KeyError
# [1,2][9]         -> IndexError
print('common exceptions')

Pelacakan Balik

Saat pengecualian tidak ditangani, Python mencetak pelacakan balik: tumpukan pemanggilan dari bawah (yang terbaru) ke atas. Pelajarilah cara membacanya.
def f(): return 1/0
# f()  # shows traceback
print('traceback demo')

Objek Pengecualian

Setiap pengecualian membawa pesan. str(e) atau e.args memberikan keterangannya. Akses di dalam except seperti ini: except ValueError as e.
try:
    int('abc')
except ValueError as e:
    print(type(e).__name__, e)

Menangkap Beberapa Tipe

except (TypeError, ValueError): menangkap salah satu dari kedua tipe tersebut dalam satu klausa.
def parse(x):
    try:
        return int(x)
    except (TypeError, ValueError):
        return None
print(parse('abc'), parse(None))

Grup Pengecualian (3.11+)

Python 3.11 menambahkan ExceptionGroup untuk beberapa pengecualian yang terjadi secara bersamaan, yang ditangani dengan sintaks except*.
# Python 3.11+:
# try: ...
# except* ValueError as eg:
#     print(eg.exceptions)
print('exception group demo')

Peringatan vs Pengecualian

import warnings; warnings.warn('msg') mengeluarkan peringatan tanpa memunculkan pengecualian. Gunakan ini untuk penghentian dukungan dan kesalahan ringan.
import warnings
warnings.warn('This is deprecated', DeprecationWarning)
print('warning issued')

sys.exc_info()

Di dalam blok except, sys.exc_info() mengembalikan (type, value, traceback) — berguna untuk mencatat detail lengkap pengecualian.
import sys
try:
    1/0
except:
    exc_type, exc_val, _ = sys.exc_info()
    print(exc_type, exc_val)

Perantaian Pengecualian

raise NewError('msg') from original merantaikan pengecualian. Atribut __cause__ menghubungkan keduanya.
try:
    int('abc')
except ValueError as e:
    raise RuntimeError('parse failed') from e

Pemeriksaan Singkat

Pengecualian apa yang dimunculkan saat Anda mengakses kamus dengan kunci yang tidak ada?

Ringkasan

Pengecualian mewarisi BaseException. Baca pelacakan balik dari bawah ke atas. Tangkap dengan except as e. Tipe umum: ValueError, TypeError, KeyError, IndexError, AttributeError.

Lanjutkan

Kerja bagus! Lanjutkan ke pelajaran berikutnya untuk terus berkembang.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memahami Pengecualian” gratis?

Ya — teks lengkap “Memahami Pengecualian” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memahami Pengecualian”?

Pelajari apa itu pengecualian dan cara Python memunculkannya. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Memahami Pengecualian” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memahami Pengecualian
  2. try / except / else / finally
  3. Memunculkan dan Memunculkan Ulang Pengecualian
  4. Class Pengecualian Kustom
← Kembali ke Python Academy