add exception wrapper for srevice