This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Eddie Parker
Recipients Eddie Parker
Date 2020-06-17.06:33:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1592375581.16.0.231176585152.issue40997@roundup.psfhosted.org>
In-reply-to
Content
Running the following yields an unexpected OSError: Invalid argument:

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.datetime(1000,1,1).timestamp()
>>> datetime.datetime(1969,1,1).timestamp()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument

I understand that the time can't yield a valid timestamp, but the exception doesn't really explain that and the documentation doesn't mention OSError as an exception to indicate an invalid date is specified.

Ideally a better exception could be used (ValueError?) or the documentation could mention this possibility?  Or even better, allow timestamp() to take a parameter for what to return in the case of an invalid timestamp (None?)

I mention this because I hit this in some asyncio code which was a nuisance to debug and finding it excepting on a timestamp that had worked before with an OS error baffled me until I got it in a debugger.

Thanks as always!
History
Date User Action Args
2020-06-17 06:33:01Eddie Parkersetrecipients: + Eddie Parker
2020-06-17 06:33:01Eddie Parkersetmessageid: <1592375581.16.0.231176585152.issue40997@roundup.psfhosted.org>
2020-06-17 06:33:01Eddie Parkerlinkissue40997 messages
2020-06-17 06:33:00Eddie Parkercreate