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.
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.,
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.