The Berkeley DB interfaces always return a value of 0 on success. If the operation does not succeed for any reason, the return value will be non-zero.
If a system error occurred (e.g., we ran out of disk space, or permission to access a file was denied to us, or an illegal argument was specified to one of the interfaces), Berkeley DB returns an errno value. All of the possible values of errno are greater than 0.
If the operation didn't fail due to a system error, but wasn't successful either, Berkeley DB returns a special error value. For example, if you tried to retrieve the data item associated with the key fruit, and there was no such key/data pair in the database, Berkeley DB would return DB_NOTFOUND, a special error value that means the requested key does not appear in the database.