throw consistently all errors into exceptions