distinguish recoverable errors