Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Pengecualian Tersuai dalam Python?

Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Pengecualian Tersuai dalam Python?

DDD
Lepaskan: 2024-12-03 01:20:18
asal
641 orang telah melayarinya

How Can I Create and Handle Custom Exceptions in Python?

Pengendalian Pengecualian Tersuai dalam Python

Mencipta kelas pengecualian tersuai dalam Python membolehkan pembangun mengendalikan ralat tertentu dengan anggun dan memberikan maklumat tambahan tentang punca isunya.

Pengecualian Tersuai Pengisytiharan

Dalam Python moden, disyorkan untuk mentakrifkan pengecualian tersuai dengan melanjutkan kelas Pengecualian:

class MyException(Exception):
    pass
Salin selepas log masuk

Pendekatan ini sejajar dengan standard untuk kelas pengecualian lain dan memastikan bahawa sebarang tambahan atribut yang disertakan dalam pengecualian boleh diakses oleh alatan yang mengendalikan pengecualian.

Pengecualian Tersuai Permulaan

Untuk menyimpan data tambahan dalam pengecualian, ganti kaedah __init__ dan hantar maklumat yang berkaitan sebagai parameter:

class ValidationError(Exception):
    def __init__(self, message, errors):
        super().__init__(message)
        self.errors = errors
Salin selepas log masuk

Dengan cara ini, anda boleh mengakses data tambahan melalui e .ralat semasa mengendalikan pengecualian.

Mengelakkan BaseException.message

Dalam Python 2.5, kelas BaseException mempunyai mesej atribut khas yang menyimpan mesej pengecualian. Walau bagaimanapun, atribut ini telah ditamatkan dalam Python 2.6 dan tidak boleh digunakan. Sebaliknya, atribut mesej harus ditambahkan pada kelas pengecualian tersuai secara eksplisit.

Argumen Ajaib

Argumen args dalam pembina Exception digunakan untuk menyimpan argumen yang dihantar kepada pengecualian semasa permulaan. Walau bagaimanapun, anda tidak disyorkan untuk menggunakan args untuk menyimpan data tambahan, kerana ia mungkin mengelirukan dan tidak konsisten dengan kelas pengecualian lain.

Kaedah Mengatasi

Semasa mengatasi __init__ dan __str__ (atau __unicode__ dan __repr__ dalam Python 2) biasanya dicadangkan, tidak diperlukan untuk pengecualian tersuai yang mudah. Contoh yang disediakan menunjukkan cara membuat pengecualian tersuai tanpa mengatasi kaedah ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta dan Mengendalikan Pengecualian Tersuai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan