nudb should use and offer boost::system::error_codeinterfaces for all functions natively. The existing APIs which throw exceptions should just call the versions which return error codes and rethrow the error as boost::system::system_error (like Asio does).
An open question is how a caller can determine, in cross-platform fashion, the outcome of certain file operations. For example, that the file did not exist.
nudb should use and offer
boost::system::error_code
interfaces for all functions natively. The existing APIs which throw exceptions should just call the versions which return error codes and rethrow the error asboost::system::system_error
(like Asio does).An open question is how a caller can determine, in cross-platform fashion, the outcome of certain file operations. For example, that the file did not exist.