Callers should always handle the error last.