在Python中,可以使用try-except语句来捕获异常。
语法如下:
try:
# 可能会产生异常的代码块
except 异常类型1:
# 处理异常的代码块
except 异常类型2:
# 处理异常的代码块
...
else:
# 如果没有异常发生,执行的代码块
finally:
# 不论是否有异常发生,都会执行的代码块
在try块中,放置可能会产生异常的代码。当异常发生时,程序会跳转到对应的except块来处理异常。可以指定不同的异常类型来处理不同的异常情况。如果没有匹配的异常类型,异常会向上层调用栈传播。
如果try块中没有异常发生,则会执行else块中的代码。无论是否有异常发生,finally块中的代码都会被执行。
以下是一个示例:
try:
num1 = int(input("请输入一个整数:"))
num2 = int(input("请输入另一个整数:"))
result = num1 / num2
print("结果是:", result)
except ValueError:
print("输入的不是整数!")
except ZeroDivisionError:
print("除数不能为零!")
except Exception as e:
print("发生了一个异常:", e)
else:
print("没有异常发生!")
finally:
print("程序结束!")
在这个示例中,用户输入两个整数,然后进行除法运算。如果输入不是整数,会捕获ValueError异常;如果除数为零,会捕获ZeroDivisionError异常;其他异常则会被捕获到Exception块中。无论是否有异常发生,最后都会输出相应的信息。