Kesalahan Python dan Pengecualian Bawaan

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 berhenti segera setelah menemukan kesalahan yang tidak tertangani. Kesalahan ini secara luas dapat diklasifikasikan menjadi dua kelas:

  1. Kesalahan sintaks
  2. Kesalahan logika (Pengecualian)

Kesalahan Sintaksis Python

Kesalahan yang disebabkan oleh tidak mengikuti struktur (sintaks) bahasa yang tepat disebut kesalahan sintaks atau kesalahan penguraian .

Mari kita lihat satu contoh:

 >>> if a < 3 File "", line 1 if a < 3 SyntaxError: invalid syntax

Seperti yang ditunjukkan dalam contoh, panah menunjukkan di mana parser mengalami kesalahan sintaks.

Kita dapat melihat di sini bahwa titik dua :tidak ada dalam ifpernyataan tersebut.

Kesalahan Logis Python (Pengecualian)

Kesalahan yang terjadi pada waktu proses (setelah lulus uji sintaks) disebut pengecualian atau kesalahan logika .

Misalnya, hal itu terjadi ketika kita mencoba membuka file (untuk membaca) yang tidak ada ( FileNotFoundError), mencoba membagi angka dengan nol ( ZeroDivisionError), atau mencoba mengimpor modul yang tidak ada ( ImportError).

Setiap kali jenis kesalahan runtime ini terjadi, Python membuat objek pengecualian. Jika tidak ditangani dengan benar, ia mencetak pelacakan 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 "", line 301, in runcode File "", line 1, in ZeroDivisionError: division by zero >>> open("imaginary.txt") Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in 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 dimunculkan ketika terjadi kesalahan yang sesuai. Kita dapat melihat semua pengecualian bawaan menggunakan local()fungsi bawaan sebagai berikut:

 print(dir(locals()('__builtins__')))

locals()('__builtins__')akan mengembalikan modul pengecualian, fungsi, dan atribut bawaan. dirmemungkinkan 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 Error
AssertionError Dibesarkan saat assertpernyataan 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 metode generator close()dipanggil.
ImportError Dibesarkan ketika modul yang diimpor tidak ditemukan.
IndexError Dibesarkan saat indeks urutan di luar jangkauan.
KeyError Dibesarkan saat kunci tidak ditemukan dalam kamus.
KeyboardInterrupt Dibesarkan saat pengguna menekan tombol interupsi ( Ctrl+Catau Delete).
MemoryError Dibesarkan saat operasi kehabisan memori.
NameError Dibesarkan saat variabel tidak ditemukan dalam lingkup lokal atau global.
NotImplementedError Dibesarkan dengan metode abstrak.
OSError Dibesarkan ketika operasi sistem menyebabkan kesalahan terkait sistem.
OverflowError Dibesarkan saat hasil operasi aritmatika terlalu besar untuk direpresentasikan.
ReferenceError Dibesarkan saat proxy referensi lemah digunakan untuk mengakses referensi yang dikumpulkan sampah.
RuntimeError Dibesarkan saat kesalahan tidak termasuk dalam kategori lain.
StopIteration Dibesarkan oleh next()fungsi untuk menunjukkan bahwa tidak ada item lagi yang akan dikembalikan oleh iterator.
SyntaxError Dibesarkan oleh parser saat kesalahan sintaks ditemukan.
IndentationError Dibesarkan saat ada indentasi yang salah.
TabError Dibesarkan jika indentasi terdiri dari tab dan spasi yang tidak konsisten.
SystemError Dibesarkan saat juru bahasa mendeteksi kesalahan internal.
SystemExit Dibesarkan oleh sys.exit()fungsi.
TypeError Dibesarkan saat fungsi atau operasi diterapkan ke objek dengan jenis yang salah.
UnboundLocalError Dibesarkan saat referensi dibuat ke variabel lokal dalam fungsi atau metode, tetapi tidak ada nilai yang terikat ke variabel itu.
UnicodeError Dibesarkan saat terjadi kesalahan encoding atau decoding terkait Unicode.
UnicodeEncodeError Dibesarkan saat kesalahan terkait Unicode terjadi selama encoding.
UnicodeDecodeError Dibesarkan saat kesalahan terkait Unicode terjadi selama decoding.
UnicodeTranslateError Dibesarkan saat kesalahan terkait Unicode terjadi selama penerjemahan.
ValueError Dibesarkan saat fungsi mendapatkan argumen dengan tipe yang benar tetapi nilainya tidak tepat.
ZeroDivisionError Dibesarkan saat operan kedua divisi atau operasi modulo adalah nol.

Jika diperlukan, kita juga bisa mendefinisikan pengecualian kita sendiri dengan Python. Untuk mempelajari lebih lanjut tentang mereka, kunjungi Pengecualian yang Ditentukan Pengguna Python.

Kita dapat menangani pengecualian bawaan dan yang ditentukan pengguna ini dalam Python menggunakan try, exceptdan finallypernyataan. Untuk mempelajari lebih lanjut tentang mereka, kunjungi coba Python, kecuali dan akhirnya pernyataan.

Artikel yang menarik...