Dalam posting ini, kita akan melihat Cara Membuat Kode Penanganan Pengecualian Khusus dengan Python. Terlepas dari regular , out of the box atau in-built exceptions, Python memfasilitasi kita untuk membuat atau mendefinisikan Pengecualian kustom kita sendiri sesuai kebutuhan Bisnis
[Sementara itu jika Anda belum membaca postingan detail kami di Berbagai cara Penanganan Pengecualian dengan Python, Bacalah Cara Menangani Kesalahan dan Pengecualian dengan Python?]
Pengguna dapat membuat atau menentukan Pengecualian Sendiri, berdasarkan Logika Bisnis Khusus
jika[ aicp_can_see_ads[] ] {
}
Anda dapat membuat Pengecualian Khusus jika –
- Pengecualian In-Bulit Python yang ada tidak mencakup persyaratan ATAU,
- Anda ingin mengintegrasikan beberapa sistem logging yang lebih canggih atau memeriksa objek lebih lanjut ATAU,
- Anda ingin menampilkan lebih banyak informasi Spesifik saat pengecualian atau kesalahan terjadi ATAU,
- Anda mungkin memerlukan pengecualian yang dibuat khusus untuk database tertentu atau pekerjaan layanan, dll
Mari kita lihat bagaimana kita dapat menangani Custom Exception dengan berbagai cara –
Pengecualian Kustom 1 – Traceback
Ketika Pengecualian apa pun dimunculkan dan tetapi tidak ditangani, maka itu hanya akan mencetak traceback ke keluaran kesalahan
Dalam kasus seperti itu, keluaran kesalahan hanyalah konsol Python
jika[ aicp_can_see_ads[] ] {
}
Pesan lacak kembali hanya memberikan beberapa informasi dan beberapa detail tentang kesalahan sebenarnya yang terjadi
try: your_function[] except: import traceback s = traceback.format_exc[] some_function_to_use_traceback_details[s] raise
Pengecualian Kustom 2 – Pengecualian Vanila
Kita bisa membuat objek dari Pengecualian Python. Dan kemudian menaikkan kesalahan itu sendiri
Ini adalah penggunaan vanilla yang paling sederhana
def card_type[card]: if card == "xxxx": raise Exception["xxxx types of Card is not accepted"] print "Card Accepted"]_
jika[ aicp_can_see_ads[] ] {
}
Pengecualian Khusus 3 – Sub kelas Pengecualian
Jika kita ingin membuat Pengecualian lebih bermakna dan dibuat khusus, kita dapat membuat Subkelas Pengecualian
Lihat contoh di bawah ini –
Contoh 1
class CustomException[Exception]: def __init___[self,customArgs]: Exception.__init__[self,"Custom Exception raised with parameters {0}".format[customArgs]] self.customArgs = customArgs def do_something[arg1,arg2]: if validity_ok[arg1,arg2] : all_good[] else: raise CustomException[{'arg1' : arg1, 'arg2' : arg2}]
Contoh-2
import os import errno class [Exception]: """ Exception raised for errors Custom case. Attributes: message -- explain about the error """ def __init__[self, message]: # Calling the Base class constructor with the parameters super[].__init__[message] def [] if else: ##### DEFINE THE EXCEPTION DETAILS HERE raise [errno.ENOENT, os.strerror[errno.ENOENT]] Custom_Function[]
jika[ aicp_can_see_ads[] ] {
}
Pengecualian Khusus 4 – Sesuaikan Kesalahan Standar
Kita dapat menggunakan kelas pengecualian Python Bawaan Standar yang ada dan kemudian membuat instance baru dari kelas itu. Dengan cara ini kita dapat meningkatkan dan membangun fungsionalitas yang disediakan oleh pengecualian Python Bawaan yang Ada
Lihat contoh di bawah ini –
jika[ aicp_can_see_ads[] ] {
}
class CustomException[ValueError]: def __init__[self, arg]: self.strerror = arg self.args = {arg} try: raise CustomException["Age must be more than 18"] except CustomException as e: print["This is Custom ValueError Exception - ", e.strerror]_
Jika Anda ingin membaca lebih lanjut tentang Penanganan Pengecualian Python, baca Posting Sebelumnya kami – Bagaimana Menangani Kesalahan dan Pengecualian di Python?