If we are making a custom exception, then perhaps we should pass these values into the constructor and provide methods in the exception to get these values so people don't have to parse the exception message