Error Handling

SDK methods handle failure by throwing exceptions inheriting the kuzzleio::KuzzleException class, which in turn inherits the standard std::runtime_error class.

Members:

  • unsigned int status: error code, following HTTP Standards
  • const char * what() const;: returns the error message

You can find a detailed list of possible errors messages and statuses in the documentation API.
Just replace Error by Exception to find the exception name. (e.g. BadRequestError becomes kuzzleio::BadRequestException).

Example

Copied to clipboard!
try {
  kuzzle->index->create("nyc-open-data");
} catch (kuzzleio::BadRequestException& e) {
  std::cout << "Status: " << e.status() << " Message: " << e.what() << std::endl;
  std::cout << "Try with another name!" << std::endl;
}