More descriptive error messages

if we rewrite the error handling mechanism, maybe we should do it completely. I would not croak here (as it will stop the execution), but rather print STDERR, and then exit with an exit code... On top of that, if we decide the use dedicated exit_code (I know we're not), this would override them...