error would be null, if succeded