Python 中的 try-finally 子句
pythonserver side programmingprogramming
您可以将 finally: 块与 try: 块一起使用。finally 块是放置必须执行的任何代码的地方,无论 try 块是否引发异常。try-finally 语句的语法是这样的 −
try: 您在此处执行操作; ...................... 由于任何异常,可能会跳过此操作。 finally: 这将始终执行。 ......................
您不能将 else 子句与 finally 子句一起使用。
示例
#!/usr/bin/python try: fh = open("testfile", "w") fh.write("This is my test file for exception processing!!") finally: print "Error: can\'t find file or read data"
输出
如果您没有权限以写入模式打开文件,则将产生以下结果 −
Error: can't find file or read data
相同示例可以更干净地编写如下 −
示例
#!/usr/bin/python try: fh = open("testfile", "w") try: fh.write("This is my test file for exception processing!!") finally: print "Going to close the file" fh.close() except IOError: print "Error: can\'t find file or read data"
当 try 块中抛出异常时,执行立即传递到 finally 块。执行完 finally 块中的所有语句后,将再次引发异常,如果 try-except 语句的下一个更高层中存在该异常,则在 except 语句中处理该异常。