I'm with you, don't do crap like that. Always return a valid object.
email_t theEmail = parseEmail(untrustedInput);
if (theEmail.error != PARSE_OK) {
return error;
}