when setting on_error improper, it should fail loud instead of accepting