custom exceptions testing and working