捕获“间接”异常的一种好方法是使用try-except语句来捕获可能引发异常的代码块,然后在except语句中处理该异常或者再次抛出异常。
以下是一个示例代码,演示如何捕获“间接”异常并处理它:
def divide_numbers(a, b):
    try:
        result = a / b
        return result
    except ZeroDivisionError:
        print("Error: 除数不能为零")
        return None
    except Exception as e:
        print(f"Error: 发生了其他异常 - {e}")
        return None
def main():
    num1 = 10
    num2 = 0
    result = divide_numbers(num1, num2)
    if result is not None:
        print(f"结果为: {result}")
if __name__ == "__main__":
    main()
在上面的代码中,divide_numbers函数尝试将a除以b,如果除数为零,将会引发ZeroDivisionError异常。我们使用try-except语句来捕获该异常,并在except语句中打印错误消息。如果发生其他异常,我们也捕获并打印错误消息。
在main函数中,我们调用divide_numbers函数,并检查返回值是否为None。如果不是None,则打印结果。
这种方法可以帮助我们捕获“间接”异常,并在出现异常时进行适当的处理,以避免程序崩溃。