python 函数里捕获异常以后 retrun不生效

问题遇到的现象和发生背景

捕获异常以后 让它retun 它却不返回 一直往下执行

问题相关代码,请勿粘贴截图
def execute():
    try:
        data = conn.recv(1024).decode("utf-8")
    except ConnectionAbortedError as e:
        return False
    print(data)
    conn.sendall("有事吗?".encode("utf-8"))
    print("回复成功")
    return True
运行结果及报错内容

捕获异常以后 不执行return 而是一直往下执行

我的解答思路和尝试过的方法
我想要达到的结果

我想让他 捕获到异常以后 retun False

可能发生的异常不是ConnectionAbortedError异常类型的,所有发生异常了,依旧不会进入返回return False
你将ConnectionAbortedError改成Exception,捕捉所有异常,只要发生异常了就会return False

你应该把其他代码都放到try里去,当捕捉到错误的时候就自动跳到except去了

def execute():
    try:
        data = conn.recv(1024).decode("utf-8")
        print(data)
        conn.sendall("有事吗?".encode("utf-8"))
        print("回复成功")
        return True
    except ConnectionAbortedError as e:
        return False

或者用try except else格式:

def execute():
    try:
        data = conn.recv(1024).decode("utf-8")
    except ConnectionAbortedError as e:
        return False
    else:
        print(data)
        conn.sendall("有事吗?".encode("utf-8"))
        print("回复成功")
        return True


可以查看手册:python-具体异常 中的内容

因为你这个异常可能不是当前你所使用方法能捕获的类型,可以捕获所有异常然后return false,而不是单独一种