Saat terjadi kesalahan, atau pengecualian seperti yang kita sebut, Python biasanya akan berhenti dan menghasilkan pesan kesalahan Show
Pengecualian ini dapat ditangani dengan menggunakan pernyataan ContohBlok mencoba Karena blok try menimbulkan kesalahan, blok exception akan dieksekusi Tanpa try block, program akan crash dan memunculkan error ContohPernyataan ini akan menimbulkan kesalahan, karena ________10______ tidak didefinisikan Cobalah sendiri "Banyak PengecualianAnda dapat menentukan blok pengecualian sebanyak yang Anda inginkan, mis. g. jika Anda ingin mengeksekusi blok kode khusus untuk jenis kesalahan khusus ContohCetak satu pesan jika blok coba memunculkan mencoba Kalau tidakAnda dapat menggunakan kata kunci ContohDalam contoh ini, blok mencoba AkhirnyaBlok Ketika sebuah program Python menemui kesalahan, itu menghentikan eksekusi dari sisa program. Kesalahan dalam Python bisa berupa kesalahan dalam sintaks ekspresi atau pengecualian Python. Kami akan melihat apa pengecualiannya. Selain itu, kita akan melihat perbedaan antara kesalahan sintaksis dan pengecualian dalam tutorial ini. Setelah itu, kita akan belajar tentang mencoba dan mengecualikan blok dan cara mengajukan pengecualian dan membuat pernyataan. Setelah itu, kita akan melihat daftar pengecualian Python Apa itu Pengecualian?Pengecualian dalam Python adalah insiden yang terjadi saat menjalankan program yang menyebabkan program reguler dari perintah program terganggu. Ketika kode Python menemukan kondisi yang tidak dapat ditangani, itu memunculkan pengecualian. Sebuah objek dalam Python yang menjelaskan kesalahan disebut pengecualian Saat kode Python melempar pengecualian, ia memiliki dua opsi. tangani pengecualian segera atau berhenti dan keluar Pengecualian versus Kesalahan SintaksKetika juru bahasa mengidentifikasi pernyataan yang memiliki kesalahan, kesalahan sintaks terjadi. Pertimbangkan skenario berikut Kode Keluaran if (s != o: ^ SyntaxError: invalid syntax Panah di keluaran menunjukkan tempat penafsir mengalami kesalahan sintaksis. Ada satu braket yang tidak tertutup dalam kasus ini. Tutup dan jalankan kembali program Kode Keluaran 2 string = "Python Exceptions" 4 for s in string: ----> 5 if (s != o): 6 print( s ) NameError: name 'o' is not defined_ Kami mengalami error pengecualian setelah menjalankan kode ini. Ketika kode Python yang valid secara sintaksis menghasilkan kesalahan, ini adalah jenis kesalahan yang muncul. Baris terakhir keluaran menentukan nama kode kesalahan pengecualian yang ditemui. Alih-alih hanya menampilkan "kesalahan pengecualian", Python menampilkan informasi tentang jenis kesalahan pengecualian yang terjadi. Itu adalah NameError dalam situasi ini. Python menyertakan beberapa pengecualian bawaan. Namun, Python menawarkan fasilitas untuk membuat pengecualian khusus Pernyataan Coba dan Kecualikan - Menangkap PengecualianDi Python, kami menangkap pengecualian dan menanganinya menggunakan blok kode coba dan kecuali. Klausa try berisi kode yang dapat memunculkan pengecualian, sedangkan klausa kecuali berisi baris kode yang menangani pengecualian. Mari kita lihat apakah kita bisa mengakses indeks dari larik, yang lebih panjang dari larik, dan menangani pengecualian yang dihasilkan Kode Keluaran The index and element from the array is 0 Python The index and element from the array is 1 Exceptions The index and element from the array is 2 try and except Index out of range Blok kode yang berpotensi menghasilkan kesalahan disisipkan di dalam klausa try pada contoh sebelumnya. Nilai i lebih besar dari 2 upaya untuk mengakses item daftar melebihi panjangnya, yang tidak ada, menghasilkan pengecualian. Klausa kecuali kemudian menangkap pengecualian ini dan mengeksekusi kode tanpa menghentikannya Cara Menaikkan PengecualianJika suatu kondisi tidak memenuhi kriteria kami tetapi benar menurut juru bahasa Python, kami dapat dengan sengaja memunculkan pengecualian menggunakan kata kunci kenaikan. Kami dapat menggunakan pengecualian khusus sehubungan dengan pernyataan tersebut Jika kita ingin menggunakan raise untuk menghasilkan exception ketika kondisi tertentu terjadi, kita dapat melakukannya sebagai berikut Kode Keluaran 1 num = [3, 4, 5, 7] 2 if len(num) > 3: ----> 3 raise Exception( f"Length of the given list must be less than or equal to 3 but is {len(num)}" ) Exception: Length of the given list must be less than or equal to 3 but is 4 Implementasi berhenti dan menunjukkan pengecualian kami dalam output, memberikan indikasi tentang apa yang salah Pernyataan dengan PythonSaat kita selesai memverifikasi program, pernyataan adalah uji konsistensi yang dapat kita aktifkan atau nonaktifkan Cara paling sederhana untuk memahami pernyataan adalah dengan membandingkannya dengan kondisi jika-maka. Pengecualian dilemparkan jika hasilnya salah saat ekspresi dievaluasi Penegasan dibuat melalui pernyataan penegasan, yang ditambahkan dalam Python 1. 5 sebagai kata kunci terbaru Pernyataan biasanya digunakan di awal fungsi untuk memeriksa input yang valid dan di akhir pemanggilan fungsi untuk memeriksa output yang valid Pernyataan tegasPython memeriksa ekspresi yang berdekatan, sebaiknya benar ketika menemukan pernyataan tegas. Python melempar pengecualian AssertionError jika hasil ekspresi salah Sintaks untuk menegaskan klausa adalah - Python menggunakan ArgumentException, jika pernyataan gagal, sebagai argumen untuk AssertionError. Kita dapat menggunakan klausa try-exception untuk menangkap dan menangani pengecualian AssertionError, tetapi jika tidak, program akan berhenti, dan interpreter Python akan menghasilkan traceback Kode Keluaran 7 #Calling function and passing the values ----> 8 print( square_root( 36 ) ) 9 print( square_root( -36 ) ) Input In [23], in square_root(Number) 3 def square_root( Number ): ----> 4 assert ( Number < 0), "Give a positive integer" 5 return Number**(1/2) AssertionError: Give a positive integer_ Coba dengan Klausa LainPython juga mendukung klausa lain, yang harus muncul setelah setiap klausa kecuali, di blok coba, dan kecuali. Hanya ketika klausa try gagal memberikan pengecualian, juru bahasa Python melanjutkan ke blok else Berikut ini contoh klausa try dengan klausa else Kode Keluaran 0.25 We cannot divide by zero Akhirnya Kata Kunci dengan PythonKata kunci akhirnya tersedia di Python, dan selalu digunakan setelah blok coba-kecuali. Blok kode akhirnya selalu dieksekusi setelah blok percobaan dihentikan secara normal atau setelah blok percobaan diakhiri karena beberapa alasan lain Berikut adalah contoh kata kunci akhirnya dengan klausa coba-kecuali Kode Keluaran Atepting to divide by zero This is code of finally clause_ Pengecualian Buatan PenggunaDengan mewarisi kelas dari pengecualian bawaan yang khas, Python juga memungkinkan kita merancang pengecualian khusus kita Berikut adalah ilustrasi RuntimeError. Dalam hal ini, kelas yang diturunkan dari RuntimeError dihasilkan. Setelah pengecualian terdeteksi, kami dapat menggunakan ini untuk menampilkan informasi detail tambahan Kami memunculkan pengecualian yang ditentukan pengguna di blok coba dan kemudian menangani pengecualian di blok kecuali. Contoh kelas EmptyError dibuat menggunakan variabel var Kode Keluaran 2 try: ----> 3 raise EmptyError( "The variable is empty" ) 4 except (EmptyError, var): EmptyError: The variable is empty Daftar Pengecualian PythonBerikut adalah daftar lengkap pengecualian bawaan Python Sr. Tidak. Nama PengecualianDeskripsi Pengecualian1PengecualianSemua pengecualian Python memiliki kelas dasar. 2StopIterationJika metode next() mengembalikan null untuk iterator, pengecualian ini akan dimunculkan. 3SystemExitSis. prosedur exit() menaikkan nilai ini. 4StandardErrorExcluding the StopIteration dan SystemExit, ini adalah kelas dasar untuk semua pengecualian bawaan Python. 5ArithmeticErrorSemua kesalahan perhitungan matematis milik kelas dasar ini. 6OverflowError Pengecualian ini dimunculkan ketika perhitungan melampaui batas maksimum tipe data numerik. 7FloatingPointErrorJika operasi floating-point gagal, pengecualian ini dimunculkan. 8ZeroDivisionErrorUntuk semua tipe data numerik, nilainya dinaikkan setiap kali angka dicoba untuk dibagi dengan nol. 9AssertionErrorJika pernyataan Assert gagal, pengecualian ini dimunculkan. 10AttributeError Pengecualian ini dimunculkan jika referensi variabel atau penetapan nilai gagal. 11EOFErrorKetika titik akhir file didekati, dan juru bahasa tidak mendapatkan nilai input apa pun dengan fungsi raw_input() atau input(), pengecualian ini dimunculkan. 12ImportError Pengecualian ini muncul jika menggunakan kata kunci impor untuk mengimpor modul gagal. 13KeyboardInterruptJika pengguna menyela eksekusi program, umumnya dengan menekan Ctrl+C, pengecualian ini dimunculkan. 14LookupErrorLookupErrorBase adalah kelas dasar untuk semua kesalahan pencarian. 15IndexError Pengecualian ini dimunculkan ketika indeks yang dicoba untuk diakses tidak ditemukan. 16KeyErrorKetika kunci yang diberikan tidak ditemukan dalam kamus untuk ditemukan, pengecualian ini dimunculkan. 17NameError Pengecualian ini dimunculkan ketika variabel tidak terletak di namespace lokal atau global. 18UnboundLocalErrorException ini dimunculkan saat kita mencoba mengakses variabel lokal di dalam suatu fungsi, dan variabel tersebut belum diberi nilai apa pun. 19EnvironmentErrorSemua pengecualian yang muncul di luar lingkungan Python memiliki kelas dasar ini. 20IOErrorJika tindakan input atau output gagal, seperti saat menggunakan perintah print atau fungsi open() untuk mengakses file yang tidak ada, pengecualian ini akan dimunculkan. 22SyntaxError Pengecualian ini dimunculkan setiap kali kesalahan sintaks terjadi di program kami. 23IndentationError Pengecualian ini muncul saat kami membuat indentasi yang tidak tepat. 24SystemExitPengecualian ini dimunculkan saat sistem. metode exit() digunakan untuk menghentikan interpreter Python. Pengurai keluar jika situasinya tidak ditangani dalam kode. 25TypeErrorPengecualian ini dimunculkan setiap kali tindakan atau fungsi yang tidak kompatibel dengan tipe data dicoba untuk dijalankan. 26ValueError Pengecualian ini dimunculkan jika parameter untuk metode bawaan untuk tipe data tertentu adalah tipe yang benar tetapi telah diberi nilai yang salah. 27RuntimeError Pengecualian ini dimunculkan ketika kesalahan yang terjadi selama eksekusi program tidak dapat diklasifikasikan. 28NotImplementedErrorJika fungsi abstrak yang harus ditentukan pengguna dalam kelas yang diwariskan tidak ditentukan, pengecualian ini akan dimunculkanRingkasanKita belajar tentang berbagai metode untuk memunculkan, menangkap, dan menangani pengecualian Python setelah mempelajari perbedaan antara kesalahan sintaksis dan pengecualian. Kami belajar tentang klausa ini dalam tutorial ini Apa pengecualian dalam Python dengan contoh?Pengecualian Bawaan Python Mengapa menggunakan pengecualian dengan Python?Berikut adalah alasan untuk menggunakan pengecualian di Python. Penanganan pengecualian memungkinkan Anda memisahkan kode penanganan kesalahan dari kode normal . Pengecualian adalah objek Python yang mewakili kesalahan. Seperti komentar kode, pengecualian membantu Anda mengingatkan diri sendiri tentang apa yang diharapkan oleh program.
Apakah pengecualian sama dengan kesalahan di Python?Kesalahan mungkin menunjukkan masalah kritis yang seharusnya tidak ditangkap oleh aplikasi yang masuk akal, sementara Pengecualian mungkin menunjukkan kondisi yang harus coba ditangkap oleh aplikasi. Kesalahan adalah bentuk pengecualian yang tidak dicentang dan tidak dapat dipulihkan seperti OutOfMemoryError , yang tidak boleh ditangani oleh pemrogram.
Apa tujuan pengecualian?Pengecualian menyediakan cara untuk memisahkan detail tentang apa yang harus dilakukan ketika sesuatu yang tidak biasa terjadi dari logika utama suatu program . Dalam pemrograman tradisional, deteksi, pelaporan, dan penanganan kesalahan sering menyebabkan kode spageti yang membingungkan. |