How will user retrieve error information if dlsym/GetProcAddress failed? Posix provides dlerror, Windows provides GetLastError, but it's platform-dependent. I'd suggest to throw exception on fail. For cases when user just wants to check if library exports specified symbol without throwing exception it can provide 'bool canFind(string)' member function.