异常的基本语法:
try:
# 可能引发异常的代码
result = 10 / 0
except ZeroDivisionError:
# 处理特定异常
print("Division by zero is not allowed.")
except Exception as e:
# 处理其他异常
print(f"An error occurred: {e}")
else:
# 如果没有异常发生时执行的代码块
print("No exceptions occurred.")
finally:
# 无论是否发生异常都会执行的代码块
print("This will always execute.")
引发异常:
def divide(x, y):
if y == 0:
raise ValueError("Division by zero is not allowed.")
return x / y
try:
result = divide(10, 0)
except ValueError as ve:
print(f"Error: {ve}")
自定义异常:
class MyCustomError(Exception):
pass
try:
raise MyCustomError("This is a custom error.")
except MyCustomError as ce:
print(f"Custom error caught: {ce}")
获取异常信息:
try:
result = 10 / 0
except ZeroDivisionError as zde:
print(f"Error: {zde}")
使用 assert 断言:
assert 语句用于检查条件是否为 True,如果不是,就引发 AssertionError 异常。
x = 10
assert x > 0, "x should be positive"
异常链:
在处理异常时,可以使用 from 关键字将一个异常转化为另一个异常,形成异常链。
try:
result = 10 / 0
except ZeroDivisionError as zde:
raise ValueError("Custom error occurred") from zde
这些是一些基本的错误和异常处理的用法。在实际应用中,根据具体情况选择恰当的异常处理方式,以保障程序的稳定性和可维护性。
转载请注明出处:http://www.zyzy.cn/article/detail/13276/Python3