在 Python 中,错误和异常处理是编写健壮程序的关键部分。在运行程序时,如果发生错误,Python 会引发异常。以下是一些关于错误和异常处理的基本概念和用法:

异常的基本语法:
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