From: AN Long Date: Fri, 20 Sep 2024 12:42:43 +0000 (+0800) Subject: gh-111513: Improve datetime.fromtimestamp's error message (#124249) X-Git-Tag: v3.14.0a1~414 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1a577729e347714eb819fa3a3a00149406c24e5e;p=thirdparty%2FPython%2Fcpython.git gh-111513: Improve datetime.fromtimestamp's error message (#124249) --- diff --git a/Misc/NEWS.d/next/Library/2024-09-19-16-00-22.gh-issue-111513.6jHm02.rst b/Misc/NEWS.d/next/Library/2024-09-19-16-00-22.gh-issue-111513.6jHm02.rst new file mode 100644 index 000000000000..c6b85f9cd722 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2024-09-19-16-00-22.gh-issue-111513.6jHm02.rst @@ -0,0 +1 @@ +Improve the error message that may be raised by :meth:`datetime.date.fromtimestamp`. diff --git a/Python/pytime.c b/Python/pytime.c index cd7697071862..2b37cd991ef4 100644 --- a/Python/pytime.c +++ b/Python/pytime.c @@ -387,6 +387,10 @@ pytime_object_to_denominator(PyObject *obj, time_t *sec, long *numerator, *sec = _PyLong_AsTime_t(obj); *numerator = 0; if (*sec == (time_t)-1 && PyErr_Occurred()) { + if (PyErr_ExceptionMatches(PyExc_TypeError)) { + PyErr_Format(PyExc_TypeError, + "argument must be int or float, not %T", obj); + } return -1; } return 0;