wrapped error handling
no printing in the DAO