rapidsai / raft

RAFT contains fundamental widely-used algorithms and primitives for machine learning and information retrieval. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.
https://docs.rapids.ai/api/raft/stable/
Apache License 2.0
746 stars 189 forks source link

[FEA] Better exception handling #2325

Open cjnolet opened 4 months ago

cjnolet commented 4 months ago

RAFT has a runtime_exception that we try to catch and throw everywhere but it's more of a blanket for anything that can go wrong at runtime and it doesn't actually provide the caller much useful information that they can act upon through code. For example, a user of RAFT's C++ API might very well want to know if a specific type of error happened, such as somehting that might have impacted a file-based operation so they can roll back.

This is being requested by users. It's something we should put some time and thought into.