Error handling and recovery