Python Try Except
- Önceki Sayfa Python PIP
- Sonraki Sayfa Python Komut Girişi
try
块允许您测试代码块以查找错误。
except
块允许您处理错误。
finally
块允许您执行代码,无论 try 和 except 块的结果如何。
异常处理
当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。
可以使用 try
语句处理这些异常:
Örnek
try 块将生成异常,因为 x 未定义:
try: print(x) except: print("An exception occurred")
由于 try 块引发错误,因此会执行 except 块。
如果没有 try 块,程序将崩溃并引发错误:
Örnek
该语句将引发错误,因为未定义 x:
print(x)
多个异常
您可以根据需要定义任意数量的 exception 块,例如,假如您要为特殊类型的错误执行特殊代码块:
Örnek
如果 try 块引发 NameError
,则打印一条消息,如果是其他错误则打印另一条消息:
try: print(x) except NameError: print("Variable x is not defined") except: print("Something else went wrong")
Else
如果没有引发错误,那么您可以使用 else
关键字来定义要执行的代码块:
Örnek
在本例中,try
块不会生成任何错误:
try: print("Hello") except: print("Something went wrong") else: print("Nothing went wrong")
Finally
如果指定了 finally
块,则无论 try 块是否引发错误,都会执行 finally 块。
Örnek
try: print(x) except: print("Something went wrong") finally: print("The 'try except' is finished")
Bu, nesneleri kapatmak ve kaynakları temizlemek için çok işe yarar:
Örnek
Yazılabilir olmayan dosyayı açma ve yazma deneyin:
try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Dosyaya yazarken bir hata meydana geldi") finally: f.close()
Program devam edebilir ve dosya nesnesini açmayabilir.
İstisna tetikleme
Python geliştiricisi olarak, şartlar gerçekleştiğinde istisna atmayı seçebilirsiniz.
İstisna atmak için kullanın raise
Anahtar kelime.
Örnek
Eğer x 0'dan küçükse, istisna tetikleyin ve programı durdurun:
x = -1 if x < 0: raise Exception("Sorry, no numbers below zero")
raise
Anahtar kelimeler istisna tetiklemek için kullanılır.
Size tetiklenen istisnai türü ve kullanıcıya gösterilecek metni tanımlama yeteneği vardır.
Örnek
Eğer x sayı değilse, TypeError tetikleyin:
x = "hello" if not type(x) is int: raise TypeError("Only integers are allowed")
- Önceki Sayfa Python PIP
- Sonraki Sayfa Python Komut Girişi