Class Pengecualian Kustom
Definisikan tipe pengecualian sendiri agar penyampaian error lebih jelas.
Class Pengecualian Kustom adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 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
Mengapa Pengecualian Khusus?
class AppError(Exception):
pass
raise AppError('something went wrong')Mewarisi dari Exception
class ValidationError(Exception):
pass
try:
raise ValidationError('email is invalid')
except ValidationError as e:
print(e)Menambahkan Atribut Khusus
class APIError(Exception):
def __init__(self, status, message):
self.status = status
super().__init__(message)
try:
raise APIError(404, 'Not found')
except APIError as e:
print(e.status, e)Hierarki Pengecualian
class AppError(Exception): pass
class DBError(AppError): pass
class NetworkError(AppError): pass
try:
raise DBError('timeout')
except AppError as e:
print('app error:', e)Metode __str__ Khusus
class RangeError(ValueError):
def __init__(self, val, lo, hi):
self.val, self.lo, self.hi = val, lo, hi
def __str__(self):
return f'{self.val} not in [{self.lo}, {self.hi}]'
print(RangeError(15, 0, 10))Memunculkan Pengecualian Khusus
class InsufficientFundsError(Exception):
def __init__(self, needed, available):
super().__init__(f'Need {needed}, have {available}')
def withdraw(balance, amount):
if amount > balance:
raise InsufficientFundsError(amount, balance)
return balance - amount
try:
withdraw(100, 200)
except InsufficientFundsError as e:
print(e)Menangkap berdasarkan Kelas Dasar
class AppError(Exception): pass
class DBError(AppError): pass
try:
raise DBError('conn failed')
except AppError:
print('any app error')Pengecualian dengan Pengelola Konteks
class SuppressValue(Exception): pass
try:
raise SuppressValue('ignored')
except SuppressValue:
pass # suppress silently
print('continued')Mendokumentasikan Pengecualian Khusus
class ConfigError(Exception):
"""Raised when configuration is invalid.
Attributes:
key: The invalid config key
"""
def __init__(self, key, msg):
super().__init__(msg)
self.key = keyPraktik Terbaik
# Good structure:
class AppError(Exception): pass
class ValidationError(AppError): pass
class NotFoundError(AppError): pass
print('hierarchy demo')Pemeriksaan Singkat
Ringkasan
Lanjutkan
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Class Pengecualian Kustom” gratis?
Ya — teks lengkap “Class Pengecualian Kustom” 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 “Class Pengecualian Kustom”?
Definisikan tipe pengecualian sendiri agar penyampaian error lebih jelas. 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 4 dari 4.
Berapa lama pelajaran “Class Pengecualian Kustom” 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
- Memahami Pengecualian
- try / except / else / finally
- Memunculkan dan Memunculkan Ulang Pengecualian
- Class Pengecualian Kustom