Apa yang lulus coba kecuali python?

Dalam tutorial terakhir, kita belajar tentang pengecualian Python. Kita tahu bahwa pengecualian menghentikan eksekusi program secara tidak normal

Inilah sebabnya mengapa penting untuk menangani pengecualian. Di Python, kami menggunakan blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
0


Python mencoba. kecuali Blok

Blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
0 digunakan untuk menangani pengecualian di Python. Inilah sintaks dari
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
0 blok

try:
    # code that may cause exception
except:
    # code to run when exception occurs

Di sini, kami telah menempatkan kode yang mungkin menghasilkan pengecualian di dalam blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3. Setiap
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3 blok diikuti oleh
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 blok

Ketika pengecualian terjadi, itu ditangkap oleh blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5. Blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 tidak dapat digunakan tanpa blok try

Contoh. Penanganan Pengecualian Menggunakan try. kecuali

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 

Dalam contoh, kami mencoba membagi angka dengan 0. Di sini, kode ini menghasilkan pengecualian

Untuk menangani pengecualian, kami telah meletakkan kode,

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
8 di dalam blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3. Sekarang ketika pengecualian terjadi, sisa kode di dalam blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3 dilewati

Blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 menangkap pengecualian dan pernyataan di dalam blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 dieksekusi

Jika tidak ada pernyataan di blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
_3 yang menghasilkan pengecualian, blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 akan dilewati


Menangkap Pengecualian Khusus dengan Python

Untuk setiap

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3 blok, bisa ada nol atau lebih
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 blok. Beberapa blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 memungkinkan kita untuk menangani setiap pengecualian secara berbeda

Jenis argumen dari setiap blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 menunjukkan jenis pengecualian yang dapat ditangani olehnya. Sebagai contoh,

try:
    
    even_numbers = [2,4,6,8]
    print(even_numbers[5])

except ZeroDivisionError:
    print("Denominator cannot be 0.")
    
except IndexError:
    print("Index Out of Bound.")

# Output: Index Out of Bound

Dalam contoh ini, kami telah membuat daftar bernama even_numbers

Karena indeks daftar dimulai dari 0, elemen terakhir daftar berada di indeks 3. Perhatikan pernyataan,

print(even_numbers[5])

Di sini, kami mencoba mengakses nilai ke indeks 5. Karenanya, pengecualian

try:
    
    even_numbers = [2,4,6,8]
    print(even_numbers[5])

except ZeroDivisionError:
    print("Denominator cannot be 0.")
    
except IndexError:
    print("Index Out of Bound.")

# Output: Index Out of Bound
_9 terjadi

Ketika pengecualian

try:
    
    even_numbers = [2,4,6,8]
    print(even_numbers[5])

except ZeroDivisionError:
    print("Denominator cannot be 0.")
    
except IndexError:
    print("Index Out of Bound.")

# Output: Index Out of Bound
_9 terjadi di blok
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3,

  • Pengecualian
    print(even_numbers[5])
    2 dilewati
  • Kumpulan kode di dalam pengecualian
    try:
        
        even_numbers = [2,4,6,8]
        print(even_numbers[5])
    
    except ZeroDivisionError:
        print("Denominator cannot be 0.")
        
    except IndexError:
        print("Index Out of Bound.")
    
    # Output: Index Out of Bound
    _9 dijalankan

Python coba dengan klausa lain

Dalam beberapa situasi, kita mungkin ingin menjalankan blok kode tertentu jika blok kode di dalam

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3 berjalan tanpa kesalahan

Untuk kasus ini, Anda dapat menggunakan kata kunci

print(even_numbers[5])
5 opsional dengan pernyataan
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3

Mari kita lihat sebuah contoh

# program to print the reciprocal of even numbers

try:
    num = int(input("Enter a number: "))
    assert num % 2 == 0
except:
    print("Not an even number!")
else:
    reciprocal = 1/num
    print(reciprocal)

Keluaran

Jika kita melewati angka ganjil

Enter a number: 1
Not an even number!

Jika kita melewatkan bilangan genap, kebalikannya dihitung dan ditampilkan

Enter a number: 4
0.25

Namun, jika kita melewati 0, kita mendapatkan

print(even_numbers[5])
2 karena blok kode di dalam
print(even_numbers[5])
5 tidak ditangani oleh
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
5 sebelumnya

Enter a number: 0
Traceback (most recent call last):
  File "", line 7, in 
    reciprocal = 1/num
ZeroDivisionError: division by zero

Catatan. Pengecualian dalam klausa

print(even_numbers[5])
_5 tidak ditangani oleh klausa kecuali sebelumnya


Python mencoba. akhirnya

Di Python, blok

# program to print the reciprocal of even numbers

try:
    num = int(input("Enter a number: "))
    assert num % 2 == 0
except:
    print("Not an even number!")
else:
    reciprocal = 1/num
    print(reciprocal)
_1 selalu dieksekusi tidak peduli apakah ada pengecualian atau tidak

Blok

# program to print the reciprocal of even numbers

try:
    num = int(input("Enter a number: "))
    assert num % 2 == 0
except:
    print("Not an even number!")
else:
    reciprocal = 1/num
    print(reciprocal)
_1 adalah opsional. Dan, untuk setiap
try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3 blok, hanya boleh ada satu blok
# program to print the reciprocal of even numbers

try:
    num = int(input("Enter a number: "))
    assert num % 2 == 0
except:
    print("Not an even number!")
else:
    reciprocal = 1/num
    print(reciprocal)
1

Mari kita lihat sebuah contoh,

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")
    
finally:
    print("This is finally block.")

Keluaran

Error: Denominator cannot be 0.
This is finally block.

Dalam contoh di atas, kita membagi angka dengan 0 di dalam blok

try:
    numerator = 10
    denominator = 0

    result = numerator/denominator

    print(result)
except:
    print("Error: Denominator cannot be 0.")

# Output: Error: Denominator cannot be 0. 
3. Di sini, kode ini menghasilkan pengecualian

Apa mencoba

Blok coba dan kecuali di Python digunakan untuk menangkap dan menangani pengecualian . Python mengeksekusi kode mengikuti pernyataan try sebagai bagian "normal" dari program. Kode yang mengikuti pernyataan exception adalah respons program terhadap pengecualian apa pun di klausa try sebelumnya.

Bagaimana Anda melewatkan kesalahan dengan Python?

Sebagai pengembang Python, Anda dapat memilih untuk melontarkan pengecualian jika suatu kondisi terjadi. Untuk membuang (atau menaikkan) pengecualian, gunakan kata kunci kenaikan .

Bagaimana Anda melewati semua pengecualian dengan Python?

Meningkatkan Pengecualian dengan Python . Ini adalah proses manual di mana Anda dapat secara opsional meneruskan nilai ke pengecualian untuk mengklarifikasi alasan mengapa itu dimunculkan. jika x <= 0. raise ValueError(“Ini bukan angka positif. ”)use the raise keyword. It is a manual process wherein you can optionally pass values to the exception to clarify the reason why it was raised. if x <= 0: raise ValueError(“It is not a positive number!”)

Apa tujuan mencoba

Pernyataan coba-kecuali adalah ekstensi Microsoft untuk bahasa C yang memungkinkan aplikasi untuk mendapatkan kendali atas program ketika peristiwa yang biasanya menghentikan eksekusi terjadi. Such events are called exceptions, and the mechanism that deals with exceptions is called structured exception handling.