level-zero
level-zero copied to clipboard
Convenience method for error processing
Hi!
More often than not, error handling by the returned value takes the form of some macro checks that emit an exception or similar. E.g.,
#define L0_SAFE_CALL(call) \
{ \
auto status = (call); \
if (status) { \
throw some_exception(to_string(status)); \
} \
}
To create a meaningful message it would be convenient to have a method in the loader that would take a single parameter - an error code - and return a string with the failure name. Even exposing the already-existing to_string function (https://github.com/oneapi-src/level-zero/blob/master/source/loader/ze_loader.cpp#L23) would be nice. This will make consumers not replicate it and avoid potential mismatches in case of any changes in the future.