I am new to python and I am about to make this new program that will ask you for your birthday. I've made some try/except clauses to avoid people entering info in strings or to high numbers. I would like my program to find out if the info entered equals a date in the end. If it does I would like to have it printed and if not I would like it to find out what part of the user input was wrong. I have therefore made some if clauses in the last except clause with the idea that the errors would equal a message.
I would like to know if it is possible to make the program match the messages with the error to find out the specific error and figure out what part of the input was wrong.
My code looks like this:
try:
print(datetime.date(int(birthYear), int(birthMonth), int(birthDay)))
except TypeError:
if ValueError == "ValueError: month must be in 1..12":
print("Month " + str(birthMonth) + " is out of range. The month must be a number in 1...12")
if ValueError == "ValueError: year " + str(birthYear) + " is out of range":
print("Year " + str(birthMonth) + " is out of range. The year must be a number in " + str(datetime.MINYEAR) + "..." + str(datetime.MAXYEAR))
if ValueError == "ValueError: day is out of range for month":
print("Day " + str(birthDay) + " is out of range. The day must be a number in 1..." + str(calendar.monthrange(birthYear, birthMonth)))