Python 中“try”语句的可选“else”子句的预期用途是什么?
在 Python 中,try 语句的可选 else 子句用于定义一段代码,这段代码只有在 try 块中的代码没有引发任何异常时才会执行。这种结构可以帮助你在处理异常时更加清晰地组织代码,确保只有在没有异常发生的情况下才会执行特定的操作。
try
else
基本的 try 语句结构包括 try、except、else 和 finally 块,如下所示:
except
finally
try: # 可能会引发异常的代码 do_something() except SomeException as e: # 处理异常的代码 handle_exception(e) else: # 没有异常时执行的代码 do_something_else() finally: # 无论是否有异常,都会执行的代码 cleanup()
用途: else 块的代码在 try 块中的代码成功执行且没有引发异常时执行。如果 try 块引发了异常,则 else 块会被跳过。
执行顺序: else 块在 try 块之后执行,在 finally 块之前(如果存在 finally 块的话)。
常见用法:
以下是一个示例,展示了 else 块的使用:
def divide_numbers(a, b): try: result = a / b except ZeroDivisionError: print("Error: Cannot divide by zero.") else: print(f"The result is {result}") finally: print("Execution completed.") # 测试函数 divide_numbers(10, 2) # 输出: The result is 5.0 \n Execution completed. divide_numbers(10, 0) # 输出: Error: Cannot divide by zero. \n Execution completed.
在这个示例中: - 如果除法操作成功(即没有引发异常),else 块会输出除法结果。 - 如果发生 ZeroDivisionError,except 块会处理异常,else 块将被跳过。 - finally 块会无论是否发生异常都执行,确保执行完成的代码被执行。
ZeroDivisionError