throw exceptions in the exception throwing version