exception handling using DAOExeptions