Parsing date strings, inferring the year such that the date is not in the future
Obtaining a date that is in the future is in no way a "syntax error", and it would be inappropriate to raise a SyntaxError.  Instead of abusing the exception-handling mechanism, you should just use a conditional.

for date_str in text:
    try:
        date = datetime.strptime(date_str + str(this_year), "%b %d %Y").date()
        if date &lt;= today:
            print("+", date)
        else:
            date = datetime.strptime(date_str + str(last_year), "%b %d %Y").date()
            print("-", date)
    except ValueError:
        print("abnormality")


Note that you might be misinterpreting some ValueErrors as abnormalities.  For example, "Feb 29 2021" would cause a ValueError, but then you would never get a chance to try "Feb 29 2020", which is a valid day in a leap year.