📅  最后修改于: 2023-12-03 15:19:33.298000             🧑  作者: Mango
异常(Exception)是程序在运行过程中出现错误的一种情况。Python 提供了处理异常的机制,使得程序可以在出现异常时进行恰当的处理,避免程序因错误而奔溃。
在 Python 中,使用 try...except
语句进行异常处理。
try:
# 可能出现异常的代码
except 异常类型1:
# 异常1的处理代码
except 异常类型2:
# 异常2的处理代码
else:
# 无异常情况下的处理代码
finally:
# 无论是否出现异常,都会执行的代码
在 try
语句块中,放置可能出现异常的代码。在 except
语句块中,针对不同的异常类型,分别放置相应的处理代码。如果 try
语句块中的代码导致异常,Python 会寻找与异常类型对应的 except
语句块,并执行其中的处理代码。如果没有对应的 except
语句块处理对应的异常类型,则将异常向上抛出,由上层代码进行处理。如果没有异常发生,则会执行 else
语句块中的代码。无论是否出现异常,finally
语句块中的代码都会执行。
在 except
语句块中,需要指定处理的异常类型。常见的异常类型有:
Exception
:所有异常的基类。AttributeError
:对象没有这个属性。IOError
:输入输出异常。IndexError
:下标越界。KeyError
:字典中没有这个键。NameError
:未声明/初始化对象。SyntaxError
:语法错误。TypeError
:类型不匹配。ValueError
:值不匹配。以下是一个简单的示例,演示 try...except
的使用。
try:
x = int(input("Please enter a number: "))
y = 100 / x
print(y)
except ZeroDivisionError:
print("Cannot divide by zero")
except ValueError:
print("You must input a number")
except:
print("Unknown error")
else:
print("No exception occurred")
finally:
print("End of the program")
输出:
Please enter a number: 0
Cannot divide by zero
End of the program
异常处理是程序设计中重要的一部分。使用 try...except
语句可以避免程序因为异常而崩溃,保证程序的正常运行。在处理异常时,需要根据实际情况选择合适的异常类型,并编写相应的处理代码。