custom exceptions added to dao layer