If you need to represent error codes specific to your domain, you can use the std::error_code customization mechanism.
A custom implementation has three parts:
- an enum representing the domain-specific error codes
- a corresponding error category that translates the error codes into text descriptions
- a mapping from the enum type to the category type
Compiler Explorer link: https://compiler-explorer.com/z/aavMrqc94