Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Docs: socket.htons() and friends raise ValueError for negative input since 3.14

Đang mở Phù hợp với người mới
#159,012 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@vetrovk đang làm issue này rồi.

Từ ngày 9/10/2026.

  • #159047 của @vetrovk — đang mở

Đánh giá

Độ khó
1/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
78/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
documentation

Hướng nghiên cứu

Đọc Doc/library/socket.rst và xem tài liệu về htons(), ntohs(), htonl() và ntohl(). Xác nhận thay đổi ngoại lệ được mô tả dựa trên ví dụ hoặc các bài kiểm thử được cung cấp, sau đó ghi lại hành vi trong phiên bản 3.14 cho cả bốn hàm hoặc trong ghi chú chuyển đổi sang phiên bản 3.14. Công việc hoàn tất khi tài liệu phân biệt ValueError đối với đầu vào âm với OverflowError đối với giá trị quá lớn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

docs topic-socket
Documentation

Doc/library/socket.rst, htons() (and ntohs()):

.. versionchanged:: 3.10
Raises OverflowError if x does not fit in a 16-bit unsigned integer.

Since 3.14 a negative argument raises ValueError ("Cannot convert negative
int"); only too-large values still raise OverflowError. htonl()/ntohl() behave the same way:

import socket
for f in (socket.htons, socket.ntohs, socket.htonl, socket.ntohl):
    for v in (-1, 1 << 40):
        try:
            f(v)
        except Exception as e:
            print(f.__name__, v, type(e).__name__)
Version -1 1 << 40
3.13 OverflowError OverflowError
3.14 / 3.15 ValueError OverflowError

This probably came with gh-132987 (__index__() support in the socket module).
It may be intended, but it is not documented, and except OverflowError
code written against the 3.10 note no longer catches negative input.
Suggested fix: add a versionchanged:: 3.14 note to all four functions, or
mention it in What's New in 3.14 (Porting).


Linked PRs
  • gh-159047
Ngôn ngữ chính
Python
Star
77.6k
Fork
37.6k
Merge trung bình
1 ngày 20 giờ
Pull request đã merge (30 ngày)
608

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của python/cpython

Tất cả issue của python/cpython

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.