Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Kesalahan Python dan Pengecualian Bawaan

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

  1. Kesalahan sintaks
  2. 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.


Python

  1. Kata Kunci dan Pengidentifikasi Python
  2. Pernyataan Python, Indentasi dan Komentar
  3. Variabel Python, Konstanta dan Literal
  4. Konversi Jenis Python dan Pengecoran Jenis
  5. Masukan, Keluaran, dan Impor Python
  6. Variabel Python Global, Lokal dan Nonlokal
  7. Nomor Python, Konversi Jenis dan Matematika
  8. Direktori Python dan Manajemen File
  9. Pengecualian Kustom Python
  10. Bagaimana cara mendapatkan tanggal dan waktu saat ini dengan Python?