The DML API uses a selection of exceptions to indicate errors.
Types of exception
Thrown when can not connect to database for any reason.
Problem occurred during reading from database. Originally indicated be returning false - this value was often confused with false return value meaning not found.
Problem occurred during writing to database. Originally indicated be returning false.