当我们使用 try...except... 语句的时候,还可以结合其他的关键字来更好地处理异常。其中,else 和 finally关键字是常用的扩展。
下面是使用 try...except...else...finally... 语法结构的 Python 代码示例:
try:
# 尝试执行可能会产生异常的代码
num1 = int(input("请输入一个整数: "))
num2 = int(input("请输入另一个整数: "))
result = num1 / num2
except ValueError:
# 如果输入的不是整数,则会引发ValueError异常
print("输入错误,请输入整数!")
except ZeroDivisionError:
# 如果被除数为0,则会引发ZeroDivisionError异常
print("除数不能为0")
except Exception as e:
# 捕获其他未知异常,并打印出异常信息
print("未知异常:", e)
else:
# 如果没有发生异常,则执行else语句块中的代码
print("两个整数相除的结果为:", result)
finally:
# 无论是否有异常发生,都会在程序结束前执行finally语句块
print("程序执行完毕!")
在上述代码中,else 语句块中包含了一段程序,它只有在 try 块中没有引发任何异常时才会被执行。而 finally 语句块则不管有没有异常发生,都会在程序执行完成后被执行。这通常用于释放资源或清理工作。
总之, try...except...else...finally... 这种语法结构可以帮助我们更好地控制程序的执行流程和处理异常情况,从而提高程序的健壮性和可靠性。