Python bangkitkan kembali pengecualian dengan pesan tambahan
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 Show
(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 –
Mari kita lihat bagaimana kita dapat menangani Custom Exception dengan berbagai cara – Pengecualian Kustom 1 – TracebackKetika 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 VanilaKita 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 PengecualianJika 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_Statements> import os import errno class <Custom_Exception_Name>(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 <Custom_Function> () if <CHECK_IF_BUSINESS_CRITERIA_is_MET> <NO_NEED_TO_DO_ANYTHING> else: ##### DEFINE THE EXCEPTION DETAILS HERE raise <Custom_Exception_Name>(errno.ENOENT, os.strerror(errno.ENOENT)) Custom_Function()
jika( aicp_can_see_ads() ) { }
Pengecualian Khusus 4 – Sesuaikan Kesalahan StandarKita 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? Bagaimana Anda memunculkan pengecualian dengan pesan khusus di Python?Dengan Python, kita dapat mendefinisikan pengecualian khusus dengan membuat kelas baru yang diturunkan dari kelas Pengecualian bawaan . Inilah sintaks untuk mendefinisikan pengecualian khusus, kelas CustomError(Exception). . lulus mencoba. .
Bagaimana Anda memunculkan banyak pengecualian dengan Python?Dengan menangani banyak pengecualian, sebuah program dapat merespons pengecualian yang berbeda tanpa menghentikannya. Dalam Python, blok coba-kecuali dapat digunakan untuk menangkap dan merespons satu atau beberapa pengecualian . Dalam kasus di mana suatu proses memunculkan lebih dari satu kemungkinan pengecualian, semuanya dapat ditangani menggunakan satu klausa kecuali.
Apakah mungkin untuk memunculkan kembali pengecualian dengan Python?Naikkan kembali pengecualian saat ini
. Dalam hal ini, Anda dapat menggunakan pernyataan raise tanpa menentukan objek pengecualian . Jika Anda meneruskan nol ke argumen kedua dari fungsi division() , pengecualian ZeroDivisionError akan terjadi.
Bagaimana cara memunculkan pengecualian dalam pengecualian Python?Sebagai pengembang Python, Anda dapat memilih untuk melontarkan pengecualian jika suatu kondisi terjadi. Untuk membuang (atau menaikkan) pengecualian, gunakan kata kunci kenaikan . |