return dao obj for dealer
use more precise exception for error handling