捕获异常以后 让它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
因为你这个异常可能不是当前你所使用方法能捕获的类型,可以捕获所有异常然后return false,而不是单独一种