Bagaimana Anda mendeklarasikan banyak pengecualian dengan python?

Katakanlah, Anda mencoba mencetak elemen daftar melalui input pengguna. Anda menggunakan pengecualian IndexError_ di blok kecuali Anda untuk memastikan, program tidak macet jika pengguna memasukkan indeks yang tidak ada

Kode

x = [1, 2, 3, 4]

while True:
    user_input = input("Guess a position ==> ")
    try:
        print(x[int(user_input)])
        break
    except IndexError as e:
        print(f"Guess a number between {-1*len(x)} and {len(x)-1}")

Sekarang, coba jalankan kode di atas di IDE Python Anda. Selama pengguna memasukkan bilangan bulat, kode akan berjalan dengan baik

Keluaran - 1

Guess a position ==> 5
Guess a number between -4 and 3
Guess a position ==> -1
4
_

Namun, apa yang terjadi jika pengguna memasuki pelampung?

Keluaran - 2

Guess a position ==> 3.5
Traceback (most recent call last):
  File "some_file_location", line 6, in <module>
    print(x[int(user_input)])
ValueError: invalid literal for int() with base 10: '3.5'

Sekarang program Anda mogok karena pengecualian

Guess a position ==> 5
Guess a number between -4 and 3
Guess a position ==> -1
4
0. Anda tidak memperhitungkan pengecualian ini

Di Python, blok coba-kecuali digunakan untuk menangkap pengecualian dan memprosesnya. Kadang-kadang kita memanggil fungsi yang mungkin melontarkan beberapa jenis pengecualian tergantung pada argumen, logika pemrosesan, dll. Dalam tutorial ini, kita akan belajar tentang Python menangkap banyak pengecualian. Kami akan membahas bagaimana kami dapat menangani banyak pengecualian yang mungkin terjadi selama eksekusi program Python kami melalui berbagai metode

Kami juga akan belajar bagaimana kami dapat menggunakan banyak kecuali blok, loop python, dan pengecualian yang ditentukan pengguna untuk menangani banyak pengecualian. Pada saat yang sama, kita juga akan belajar bagaimana kita dapat menangani banyak pengecualian hanya dalam satu baris menggunakan tupel dengan mengambil berbagai contoh. Selain itu, kami juga akan membahas bagaimana kami dapat menangani berbagai jenis pengecualian dengan memecahkan berbagai contoh. Singkatnya, tutorial ini akan berisi semua metode yang diperlukan yang dapat Anda gunakan untuk menangani banyak pengecualian dalam bahasa pemrograman Python

BACA JUGA. Python marshmallow Dijelaskan [Contoh Praktis]

 

Memulai dengan Python menangkap banyak pengecualian

Seperti yang telah kita diskusikan bahwa blok coba-kecuali di Python digunakan untuk menangani berbagai jenis pengecualian. Anda dapat mempelajari lebih lanjut tentang blok coba dan kecuali dari artikel di Python coba dan tangkap pengecualian. Di bagian ini, fokus utama kita adalah menangani banyak pengecualian menggunakan blok coba dan kecuali. Berikut ini adalah sintaks sederhana dari blok coba dan kecuali

try:
    # statements inside try block
except:
    # statements inside except block
_

Jika terjadi kesalahan, di blok try maka alih-alih menghentikan program, kecuali blok yang akan dieksekusi

 

Metode-1 Python menangkap banyak pengecualian menggunakan python untuk loop

Python for loop digunakan untuk mengulang melalui objek yang dapat diubah (seperti daftar, tuple, set, dll. ) dan melakukan tindakan yang sama untuk setiap entri. Kita dapat menggunakan beberapa pengecualian yang mungkin terjadi saat mengulang sebuah objek. Dalam kasus seperti itu, kita dapat menggunakan blok coba dan tangkap di dalam loop for Python kita yang akan menangani banyak pengecualian. Berikut ini adalah sintaks sederhana

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro

Perhatikan bahwa kami telah menangani pengecualian yang mungkin terjadi di dalam for loop

BACA JUGA. Python Set junction() Dijelaskan [Tutorial]

 

Contoh Python menangkap banyak pengecualian menggunakan for loop

Sekarang mari kita ambil contoh dan lihat bagaimana kita bisa menggunakan loop python untuk menangkap banyak pengecualian. Lihat contoh di bawah ini

# iterable object
mylist = [-1, 2, 0, 4, 0]
# for loop
for i in mylist:
    # Python catch multiple exceptions
    try:
        # raise when divide by zero
        print("thedivision is:", 10/i)
    # this block will be executed if error occurs
    except:
        # raise an error
        print("Error occurs while dividing")
_

Keluaran

Iklan

the division is: -10.0
the division is: 5.0
Error occurs while dividing
the division is: 2.5
Error occurs while dividing

Perhatikan bahwa program di atas memunculkan dua kesalahan tetapi berhasil ditangani menggunakan blok kecuali

 

Metode-2 Python menangkap berbagai jenis Pengecualian

Dalam python, ada banyak pengecualian bawaan misalnya ZeroDivisionError, IndexOutOfRange, TypeError, dan banyak lagi. ZeroDivisionError terjadi ketika angka dibagi dengan nol dan TypeError terjadi ketika tipe data yang berbeda ditambahkan atau melakukan operasi yang tidak dapat dilakukan. Sementara IndexOutOfRange seperti namanya muncul ketika indeks berada di luar jangkauan. Pada bagian ini, kami akan menangani tiga jenis kesalahan yang diberikan. Berikut ini adalah sintaks sederhana untuk menangani berbagai jenis pengecualian di atas

try:
    # try block statement
except ZeroDivisionError:
    # Raise exception
except IndexError:
    # raise exception
except TypeError:
    # raise exception
_

Bergantung pada jenis pengecualian yang terjadi di blok try, kecuali blok khusus itu akan dieksekusi untuk menangani pengecualian

BACA JUGA. 10+ contoh praktis untuk mempelajari modul subproses python

 

Contoh Python menangkap berbagai jenis pengecualian

Sekarang mari kita lihat bagaimana kita menangani berbagai jenis exception yang mungkin terjadi selama eksekusi blok try. Lihat program Python berikut

# Python catch multiple exceptions
try:
    # defining variables
    a = 10
    b= 0
    c = "abc"
    # adding the variables
    d =a+c
# Zerodivision error
except ZeroDivisionError:
    # printing error
    print("Zero Division Error occurs")
# index error
except IndexError:
    # printing
    print("Index error occurs")
# type error
except TypeError:
    # printing
    print("Type error occurs")
_

Keluaran

Type error occurs

Kesalahan tipe terjadi karena di Python kita tidak bisa langsung menambahkan tipe data string dan integer secara bersamaan. Jadi karena kesalahan tipe dilempar oleh blok try, maka hanya blok TypeError, kecuali yang dieksekusi

 

Metode-3 Python menangkap banyak pengecualian dalam satu baris

Alih-alih menulis berbagai jenis pengecualian dalam blok kecuali yang berbeda, kita dapat menulisnya dalam satu baris menggunakan tuple. Tuple bukanlah apa-apa, hanya kumpulan objek Python yang dipisahkan dengan koma. Kami menulis semua jenis pengecualian yang mungkin terjadi di tuple dan menggunakan satu kecuali blok. Lihat sintaks beberapa pengecualian berikut dalam satu baris

try:
    # Try statements
except(TypeError, SyntaxError, ValueError, ...)as e:
    # exceptions

Perhatikan bahwa kita telah memadatkan semua pengecualian hanya dalam satu baris menggunakan dengan menulis kemudian di dalam sebuah typle

Iklan

 

BACA JUGA. Langkah-langkah Membuat Aplikasi Web Python. Contoh Labu Python

Contoh-1 Python menangkap banyak pengecualian dalam satu baris

Sekarang mari kita lihat bagaimana kita dapat menangani banyak pengecualian hanya dalam satu baris. Lihat program python di bawah ini

# Python catch multiple exceptions
try:
    # defining variables
    a = 10
    b = 0
    c = 'sd'
    # adding 
    d = a+c
# except block
except(TypeError, SyntaxError, ValueError)as e:
    # printing the error
    print("The following error occurs:")
    print(e)

Keluaran

The following error occurs:
unsupported operand type(s) for +: 'int' and 'str'

Perhatikan bahwa kesalahan jenis terjadi dan ditangani di blok kecuali

 

Contoh-2 Python menangkap banyak pengecualian dalam satu baris

Sekarang mari kita coba membagi angka dengan nol dan menjalankan program kita

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
0

Keluaran

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
1

Perhatikan bahwa kesalahan ini juga ditangani oleh kecuali blok karena

# iterable object
mylist = [-1, 2, 0, 4, 0]
# for loop
for i in mylist:
    # Python catch multiple exceptions
    try:
        # raise when divide by zero
        print("thedivision is:", 10/i)
    # this block will be executed if error occurs
    except:
        # raise an error
        print("Error occurs while dividing")
0 disebutkan dalam tuple

Iklan

 

Metode-4 Python menangkap semua pengecualian

Terkadang, kita mungkin tidak tahu pengecualian seperti apa yang mungkin terjadi. Dalam skenario seperti itu, lebih baik menangani semua pengecualian yang mungkin terjadi tanpa menentukan jenis kesalahan. Berikut ini adalah sintaks sederhana untuk menangani semua pengecualian

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
2

Perhatikan bahwa di sini kami tidak mendefinisikan jenis pengecualian apa pun, kami telah menggunakan pengecualian kata kunci yang mencakup semua jenis pengecualian yang mungkin terjadi selama pelaksanaan program kami

BACA JUGA. Kamus Python (15 contoh mudah dengan sintaksis)

 

Contoh-1 Python menangkap semua pengecualian

Sekarang mari kita lihat bagaimana kata kunci exception bekerja dan menangani semua kemungkinan exception yang mungkin terjadi selama eksekusi program kita. Lihat program python di bawah ini

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
_3

Keluaran

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
1

Perhatikan bahwa bagian pengecualian menangani pengecualian nol dan mencetak kesalahan

 

Contoh-2 Python menangkap semua pengecualian

Sekarang mari kita coba membuat pengecualian lain. Lihat program python di bawah ini

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
5

Keluaran

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
_6

Perhatikan bagian pengecualian menangani pengecualian lain juga. Blok ini akan dapat menangani semua pengecualian bawaan yang mungkin terjadi selama eksekusi program python

 

Metode-5 Python menangkap pengecualian yang ditentukan pengguna

Kadang-kadang, kita mungkin perlu menangani pengecualian selain yang bawaan. Dalam kasus seperti itu, kita harus menentukan pengecualian sendiri dan kemudian menanganinya, jika itu terjadi. Berikut ini adalah sintaks sederhana dari pengecualian yang ditentukan pengguna python

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
_7

Perhatikan bahwa kita telah menggunakan pernyataan if dan else untuk menentukan pengecualian pengguna dan kemudian menanganinya di dalam blok exception

Iklan

 

BACA JUGA. Tutorial Konstruktor Python [Contoh Mudah]

Contoh Python menangkap pengecualian yang ditentukan pengguna

Sekarang mari kita lihat bagaimana kita bisa menangkap pengecualian yang ditentukan pengguna. Lihat program Python berikut

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
_8

Keluaran

for i in iterable:
    try:
        # try block statements
    except:
        # raise an erro
_9

Perhatikan bahwa kami telah mendefinisikan pengecualian sendiri bahwa jika angka lebih kecil dari 0 maka buat pengecualian dan kami menanganinya di blok kecuali

 

Ringkasan

Di Python, kami menggunakan blok coba dan kecuali untuk menangkap dan menangani segala jenis pengecualian dan kesalahan yang mungkin terjadi selama eksekusi program kami. Dalam tutorial ini, kita telah mempelajari tentang python catch multiple exception dengan menggunakan berbagai metode. Kami telah membahas lima cara berbeda untuk menangani banyak pengecualian dengan mengambil berbagai contoh. Kami membahas bagaimana kami dapat menangani pengecualian menggunakan kecuali blok, berbagai jenis pengecualian dan bagaimana kami dapat menangani semua jenis pengecualian hanya dalam satu baris. Selain itu, kami juga membahas bagaimana kami dapat menentukan pengecualian kami sendiri dan menanganinya. Singkatnya, tutorial ini berisi semua metode yang diperlukan yang digunakan untuk menangani beberapa pengecualian dalam skenario yang berbeda

Bisakah kita memiliki banyak kecuali dengan Python?

Python Beberapa Pengecualian . Mari kita lihat beberapa contoh penanganan pengecualian Python. Ketika interpreter menemukan pengecualian, ia memeriksa blok exception yang terkait dengan blok try tersebut. Ini kecuali blok dapat menyatakan jenis pengecualian apa yang mereka tangani. It is possible to have multiple except blocks for one try block. Let us see Python multiple exception handling examples. When the interpreter encounters an exception, it checks the except blocks associated with that try block. These except blocks may declare what kind of exceptions they handle.

Bagaimana Anda menambahkan beberapa pengecualian?

Java memungkinkan Anda menangkap beberapa jenis pengecualian dalam satu blok tangkap. Itu diperkenalkan di Java 7 dan membantu mengoptimalkan kode. Anda dapat menggunakan bilah vertikal (. ) untuk memisahkan beberapa pengecualian di blok catch .

Bisakah Anda membuang 2 pengecualian?

Anda tidak dapat memberikan dua pengecualian . Saya. e. Anda tidak dapat melakukan sesuatu seperti. coba { lempar IllegalArgumentException baru(), NullPointerException baru(); . } tangkap (NullPointerException npe) { //. }

Sintaks mana yang benar untuk satu kecuali dengan banyak pengecualian?

ExceptionGroup dapat ditangani menggunakan sintaks new exception* . Simbol * menunjukkan bahwa beberapa pengecualian dapat ditangani oleh masing-masing kecuali* klausa.