maybe better if the error handling is done after all options are parsed, otherwise option order would play a role and things get messy :)