Let callers choose how to handle read failures