An error-checking algorithm.