python 中try多异常处理

在Python中,异常处理是通过tryexceptelsefinally这几个关键字来实现的。下面是一个详细的异常处理例子,它涵盖了这些关键字的用法:

def divide_numbers(a, b):
    """
    这个函数尝试将两个数相除,并处理可能出现的异常。
    
    参数:
    a (int or float): 被除数
    b (int or float): 除数
    
    返回:
    float: 如果除法成功,返回商
    
    异常处理:
    - 如果b为0,则捕获ZeroDivisionError并打印错误信息。
    - 如果发生其他异常(如类型错误),则捕获Exception并打印错误信息。
    - 无论是否发生异常,finally块都会执行,用于打印结束信息。
    """
    try:
        # 尝试执行除法运算
        result = a / b
    except ZeroDivisionError:
        # 捕获并处理除数为0的异常
        print("Error: Division by zero is not allowed.")
    except Exception as e:
        # 捕获并处理其他所有异常类型
        print(f"An unexpected error occurred: {e}")
    else:
        # 如果没有异常发生,则执行这个块
        print(f"The result of the division is: {result}")
    finally:
        # 无论是否发生异常,都会执行这个块
        print("Execution of the try block is finished.")

# 使用示例
divide_numbers(10, 2)  # 正常情况:输出商和结束信息
divide_numbers(10, 0)  # 除数为0:捕获异常并打印错误信息,然后输出结束信息
divide_numbers(10, 'a')  # 类型错误:捕获异常并打印错误信息(由于Exception捕获了所有异常类型),然后输出结束信息

 

posted @ 2024-12-20 16:04  公子Learningcarer  阅读(9)  评论(0编辑  收藏  举报