Python - 异常处理


如果您有一些可能引发异常的可疑代码,您可以通过将可疑代码放在try : 块中来保护您的程序。在try : 块之后,包含except : 语句,后跟尽可能优雅地处理问题的代码块。

  • try : 块包含容易出现异常的语句

  • 如果发生异常,程序跳转到except : 块。

  • 如果try : 块中没有异常,则跳过except : 块。

句法

这是try... except...else块的简单语法-

try:
   You do your operations here
   ......................
except ExceptionI:
   If there is ExceptionI, then execute this block.
except ExceptionII:
   If there is ExceptionII, then execute this block.
   ......................
else:
   If there is no exception then execute this block.

以下是有关上述语法的一些要点 -

  • 单个try语句可以有多个 except 语句。当 try 块包含可能引发不同类型异常的语句时,这非常有用。

  • 您还可以提供一个通用的except子句来处理任何异常。

  • 在 except 子句之后,可以包含else子句。如果 try: 块中的代码未引发异常,则执行else块中的代码。

  • else块是不需要 try: 块保护的代码的好地方

例子

此示例打开一个文件,在文件中写入内容并正常显示,因为根本没有问题。

try:
   fh = open("testfile", "w")
   fh.write("This is my test file for exception handling!!")
except IOError:
   print ("Error: can\'t find file or read data")
else:
   print ("Written content in the file successfully")
   fh.close()

它将产生以下输出-

Written content in the file successfully

但是,将 open() 函数中的模式参数更改为“w”。如果测试文件尚不存在,则程序在 except 块中遇到 IOError,并打印以下错误消息 -

Error: can't find file or read data