raise exceptions with error messages.  log them