Dalam tutorial ini, Anda akan belajar tentang berbagai jenis kesalahan dan pengecualian yang ada di dalam Python. Mereka dimunculkan setiap kali interpreter Python menemukan kesalahan.
Video:Penanganan Pengecualian Python
Kita dapat membuat kesalahan tertentu saat menulis program yang menyebabkan kesalahan saat kita mencoba menjalankannya. Program python berakhir segera setelah menemukan kesalahan yang tidak tertangani. Kesalahan ini dapat secara luas diklasifikasikan menjadi dua kelas:
Kesalahan sintaks
Kesalahan logis (Pengecualian)
Kesalahan Sintaks Python
Kesalahan yang disebabkan oleh tidak mengikuti struktur (sintaks) bahasa yang benar disebut kesalahan sintaks atau kesalahan penguraian .
Mari kita lihat salah satu contohnya:
>>> if a < 3
File "<interactive input>", line 1
if a < 3
^
SyntaxError: invalid syntax
Seperti yang ditunjukkan pada contoh, panah menunjukkan di mana parser mengalami kesalahan sintaks.
Kita dapat melihat di sini bahwa tanda titik dua : tidak ada dalam if pernyataan.
Kesalahan Logika Python (Pengecualian)
Kesalahan yang terjadi saat runtime (setelah lulus uji sintaks) disebut pengecualian atau kesalahan logika .
Misalnya, mereka terjadi ketika kami mencoba membuka file (untuk membaca) yang tidak ada (FileNotFoundError ), coba bagi angka dengan nol (ZeroDivisionError ), atau coba impor modul yang tidak ada (ImportError ).
Setiap kali jenis kesalahan runtime ini terjadi, Python membuat objek pengecualian. Jika tidak ditangani dengan benar, ini akan mencetak traceback ke kesalahan itu bersama dengan beberapa detail tentang mengapa kesalahan itu terjadi.
Mari kita lihat bagaimana Python menangani kesalahan ini:
>>> 1 / 0
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero
>>> open("imaginary.txt")
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
Pengecualian Bawaan Python
Operasi ilegal dapat menimbulkan pengecualian. Ada banyak pengecualian bawaan dalam Python yang muncul ketika kesalahan yang sesuai terjadi. Kita dapat melihat semua pengecualian bawaan menggunakan local() . bawaan fungsinya sebagai berikut:
print(dir(locals()['__builtins__']))
locals()['__builtins__'] akan mengembalikan modul pengecualian, fungsi, dan atribut bawaan. dir memungkinkan kita untuk membuat daftar atribut ini sebagai string.
Beberapa pengecualian bawaan umum dalam pemrograman Python bersama dengan kesalahan yang menyebabkannya tercantum di bawah ini:
Pengecualian
Penyebab Kesalahan
AssertionError
Dibesarkan saat assert pernyataan gagal.
AttributeError
Dibesarkan saat penetapan atribut atau referensi gagal.
EOFError
Dibesarkan saat input() fungsi mencapai kondisi akhir file.
FloatingPointError
Dibesarkan saat operasi floating point gagal.
GeneratorExit
Naikkan saat close() generator metode dipanggil.
ImportError
Dibesarkan saat modul yang diimpor tidak ditemukan.
IndexError
Dibesarkan saat indeks urutan berada di luar jangkauan.
KeyError
Dibesarkan saat kunci tidak ditemukan dalam kamus.
KeyboardInterrupt
Dibesarkan saat pengguna menekan tombol interupsi (Ctrl+C atau Delete ).
MemoryError
Dibesarkan saat operasi kehabisan memori.
NameError
Dibesarkan ketika variabel tidak ditemukan dalam lingkup lokal atau global.
NotImplementedError
Dibesarkan oleh metode abstrak.
OSError
Dibesarkan saat operasi sistem menyebabkan kesalahan terkait sistem.
OverflowError
Dibesarkan saat hasil operasi aritmatika terlalu besar untuk direpresentasikan.
ReferenceError
Dibesarkan ketika proxy referensi yang lemah digunakan untuk mengakses referensi yang dikumpulkan sampah.
RuntimeError
Dibesarkan ketika kesalahan tidak termasuk dalam kategori lain.
StopIteration
Dibesarkan oleh next() berfungsi untuk menunjukkan bahwa tidak ada item lebih lanjut yang akan dikembalikan oleh iterator.
SyntaxError
Dibesarkan oleh parser saat ditemukan kesalahan sintaks.
IndentationError
Dibesarkan ketika ada indentasi yang salah.
TabError
Dibesarkan saat lekukan terdiri dari tab dan spasi yang tidak konsisten.
SystemError
Dibesarkan saat penerjemah mendeteksi kesalahan internal.
SystemExit
Dibesarkan oleh sys.exit() fungsi.
TypeError
Dibesarkan saat fungsi atau operasi diterapkan ke objek dengan tipe yang salah.
UnboundLocalError
Dibesarkan ketika referensi dibuat ke variabel lokal dalam fungsi atau metode, tetapi tidak ada nilai yang terikat ke variabel itu.
UnicodeError
Dibesarkan saat terjadi kesalahan penyandian atau penguraian kode terkait Unicode.
UnicodeEncodeError
Dibesarkan saat terjadi kesalahan terkait Unicode selama penyandian.
UnicodeDecodeError
Dibesarkan ketika kesalahan terkait Unicode terjadi selama decoding.
UnicodeTranslateError
Dibesarkan saat terjadi kesalahan terkait Unicode selama penerjemahan.
ValueError
Dibesarkan ketika suatu fungsi mendapat argumen dengan tipe yang benar tetapi nilainya tidak tepat.
ZeroDivisionError
Dibesarkan saat operan kedua dari operasi pembagian atau modulo adalah nol.
Jika diperlukan, kita juga dapat mendefinisikan pengecualian kita sendiri dengan Python. Untuk mempelajari lebih lanjut tentang mereka, kunjungi Pengecualian yang Ditentukan Pengguna Python.
Kami dapat menangani pengecualian bawaan dan yang ditentukan pengguna ini dengan Python menggunakan try , except dan finally pernyataan. Untuk mempelajari lebih lanjut tentang mereka, kunjungi Python try, kecuali dan pernyataan terakhir.