Python Try Except

try block ອະນຸຍາດໃຫ້ທ່ານທົດລອງ code block ເພື່ອຊອກຫາຜິດພາດ

except block ອະນຸຍາດໃຫ້ທ່ານໄດ້ຈັດການຜິດພາດ

finally block ອະນຸຍາດໃຫ້ທ່ານດຳເນີນ code ບໍ່ຕິດຕາມຜົນຂອງ try ແລະ except block

exception handling

ຖ້າທ່ານເອິ້ນ Python ແລະເກີດການຜິດພາດຫຼື exception

ທ່ານສາມາດນຳໃຊ້ try ຄຳສັ່ງທີ່ຈະຈັດການ exception

实例

try block ຈະສ້າງ exception ພາຍໃນບັນຫາ x ບໍ່ໄດ້ກໍານົດ

try:
  print(x)
except:
  print("An exception occurred")

运行实例

ພາຍໃນບັນຫາ try block ສົ່ງຕົວ

ຖ້າບໍ່ມີ try block

实例

ຄຳສັ່ງນີ້ຈະສົ່ງຕົວພາຍໃນບັນຫາ x ບໍ່ໄດ້ກໍານົດ

print(x)

运行实例

multiple exceptions

ທ່ານສາມາດກໍານົດ exception block ຈຳນວນຫຼາຍຕາມຄວາມຕ້ອງການ

实例

ຖ້າ try block ສົ່ງຕົວ NameErrorຈະຂຽນຂໍ້ຄວາມຜິດພາດຖ້າແມ່ນສິ່ງອື່ນຈະຂຽນຂໍ້ຄວາມອື່ນ

try:
  print(x)
except NameError:
  print("Variable x ບໍ່ໄດ້ກໍານົດ")
except:
  print("ມີສິ່ງອື່ນໄດ້ຜິດພາດ")

运行实例

Else

ຖ້າບໍ່ມີການສົ່ງຕົວ else keyword ເພື່ອກໍານົດ block code ທີ່ຈະດຳເນີນ

实例

ໃນກໍລະນີນີ້try block ຈະບໍ່ມີການສ້າງສິ່ງຜິດພາດ

try:
  print("Hello")
except:
  print("ມີສິ່ງຜິດພາດ")
else:
  print("ບໍ່ມີສິ່ງຜິດພາດ")

运行实例

Finally

ຖ້າບໍ່ມີການກໍານົດ finally ບັນທຶກທີ່ບໍ່ມີການສົ່ງຕົວຈະດຳເນີນບັນທຶກ finally ບໍ່ຕິດຕາມວ່າ try block ມີການສົ່ງຕົວຫຼືບໍ່

实例

try:
  print(x)
except:
  print("ມີສິ່ງຜິດພາດ")
finally:
  print("ການ 'try except' ໄດ້ສິ້ນສຸດ")

运行实例

这对于关闭对象并清理资源非常有用:

实例

试图打开并写入不可写的文件:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Something went wrong when writing to the file")
finally:
  f.close()

运行实例

程序可以继续,而且不会打开文件对象。

引发异常

作为 Python 开发者,您可以选择在条件发生时抛出异常。

如需抛出(引发)异常,请使用 raise 关键词。

实例

假如 x 小于 0,则引发异常并终止程序:

x = -1
if x < 0:
  raise Exception("Sorry, no numbers below zero")

运行实例

raise 关键字用于引发异常。

您能够定义所引发异常的类型、以及打印给用户的文本。

实例

如果 x 不是整数,则引发 TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Only integers are allowed")

运行实例