customize exception for error handling in callback