Message371710
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! |
|
Date |
User |
Action |
Args |
2020-06-17 06:33:01 | Eddie Parker | set | recipients:
+ Eddie Parker |
2020-06-17 06:33:01 | Eddie Parker | set | messageid: <1592375581.16.0.231176585152.issue40997@roundup.psfhosted.org> |
2020-06-17 06:33:01 | Eddie Parker | link | issue40997 messages |
2020-06-17 06:33:00 | Eddie Parker | create | |
|