You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中“OSError: [Errno 98] Address already in use”异常相关问题咨询

关于Python TCP Socket中「OSError: [Errno 98] Address already in use」的异常说明

异常类型归属

这个错误属于OSError的实例,本质是系统级套接字错误,对应的错误码Errno 98在Python的errno模块中定义为errno.EADDRINUSE,代表「地址已被占用」。

捕获该特定异常的写法

你可以直接捕获OSError,再通过错误码判断是否为目标异常,示例代码如下:

import socket
import errno

try:
    # 创建并绑定TCP套接字
    server_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_sock.bind(("127.0.0.1", 8000))
    server_sock.listen(5)
except OSError as e:
    if e.errno == errno.EADDRINUSE:
        print("指定地址已被占用,请更换端口或释放占用该端口的进程")
    else:
        # 若为其他OSError,重新抛出不处理
        raise

如果不需要区分其他OSError,仅想捕获所有系统级套接字错误,直接写except OSError:即可,但这种方式会捕获所有类型的系统错误,建议结合错误码做精准判断。

内容的提问来源于stack exchange,提问作者MattieG4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 23:28:08