We do not catch exceptions when handling input for BDAY and ANNIVERSARY values. According to RFC6350 the input may contain text that will not work with PHP DateTime. We should handle that nicely.
We could just ignore these values, but I think we should use Sabre\VObject\Property\VCard\DateAndOrTime::getDateTime() method which will parse the input and for example replace "--0415" with "20170415". I.e. will "resolve" partial dates to current year. Still need to catch exceptions on it.