指定的尝试除了 datetime.date()
specified try except with datetime.date()
我试图从 datetime 模块中捕获不正确的月份和日期以及 date() 的负年份的异常,但是当我使用 ValueError 异常时,我无法具体说明。如何指定例外情况?
from datetime import datetime, date, timedelta
a = int(input('Year:'))
b = int(input('Month:'))
c = int(input('Day:'))
try:
a_date = date(a, b, c)
print(a_date.strftime("%d/%m/%Y"))
except ValueError:
print('month must be in 1..12')
您无法区分异常 type,因为 datetime
库在 date()
对象创建时对所有值错误条件使用 ValueError
。
您可以做的是从值错误本身打印错误消息或检查值错误的字符串。
try:
a_date = date(a, b, c)
except ValueError as error:
print(error)
try:
a_date = date(a, b, c)
except ValueError as error:
if 'month' in str(error):
print('Invalid month')
...
我试图从 datetime 模块中捕获不正确的月份和日期以及 date() 的负年份的异常,但是当我使用 ValueError 异常时,我无法具体说明。如何指定例外情况?
from datetime import datetime, date, timedelta
a = int(input('Year:'))
b = int(input('Month:'))
c = int(input('Day:'))
try:
a_date = date(a, b, c)
print(a_date.strftime("%d/%m/%Y"))
except ValueError:
print('month must be in 1..12')
您无法区分异常 type,因为 datetime
库在 date()
对象创建时对所有值错误条件使用 ValueError
。
您可以做的是从值错误本身打印错误消息或检查值错误的字符串。
try:
a_date = date(a, b, c)
except ValueError as error:
print(error)
try:
a_date = date(a, b, c)
except ValueError as error:
if 'month' in str(error):
print('Invalid month')
...