Arduino:
Tratamento de Erros

Como Fazer:

Digamos que seu Arduino esteja lendo um sensor que pode ocasionalmente produzir valores fora do intervalo. Aqui está como você pode lidar com isso:

int sensorValue = analogRead(A0);

if (sensorValue >= 0 && sensorValue <= 1023) {
  // O valor está dentro do intervalo, prossiga com o processamento
  Serial.println(sensorValue);
} else {
  // O valor está fora do intervalo, trate o erro
  Serial.println("Erro: Valor do sensor fora do intervalo.");
}

Saída de Exemplo:

523
Erro: Valor do sensor fora do intervalo.
761

Aprofundamento

O tratamento de erros nem sempre foi tão direto. Nos primórdios, os desenvolvedores muitas vezes ignoravam os erros, levando ao temido “comportamento indefinido”. Conforme a programação evoluiu, as ferramentas também — agora você tem exceções em muitas linguagens, mas elas ainda são uma boa e velha ‘verificação prévia’ no mundo Arduino devido às limitações de hardware e às raízes do C++.

Na programação Arduino, é comum ver instruções if-else para tratamento de erros. Mas existem alternativas: usar a função assert para interromper a execução se uma condição falhar ou projetar dispositivos de segurança dentro da própria configuração de hardware.

Ao implementar o tratamento de erros, considere o impacto de parar o programa versus permitir que ele continue com um estado padrão ou seguro. Há uma troca, e a escolha certa depende do potencial dano de interrupções versus operação incorreta.

Veja Também

Aprimore-se na detecção e tratamento de erros com estes recursos:

Isso deve lhe dar o conhecimento e a confiança para evitar as armadilhas dos erros em suas aventuras com Arduino.