Provide early exits to reduce function nesting

Desktop files that couldn't be open will be report as unparsed

Fixes #37