Stap 11: fout;
fout;
waar ik wil een fout optreden. Het gedefinieerd als
#define fout print_error(250,__LINE__)
en print_error (var, line_number) doet de werkelijke weergeven en bevriezing. Dus gebruik ik "fout;" als ik niet wil om weer te geven van een specifieke variabele en de "print_error()" als ik dat doe.
Het wordt lastiger omdat de Arduino omgeving wordt een hele reeks functie prototypes toegevoegd aan het begin van uw bestand wanneer gecompileerd. Terwijl het aardig is niet te hoeven uitschrijven functie prototypes knoeit het omhoog mijn fout; functionaliteit. Ik maak het regelnummer correct door een constante die ik bel ARDUINO_OFFSET af te trekken. Dit is het aantal functies dan Setup en loop. Vaak is het gemakkelijkst te bepalen door opzettelijk een fout veroorzaakt en zien hoeveel het regelnummer is uitgeschakeld. Ik heb ook meerdere bestanden die de Arduino omgeving gewoon aaneengeschakeld samen. Dus heb ik het volgende aan het eind van mijn belangrijkste bestand:
#define FILE_LENGTH 1153
Het is gewoon de lengte van het bestand, het nummer van de regel. Dus print mijn fout routine zowel de standaard lijn nummer en het regelnummer minus FILE_LENGTH. Als het eerste regelnummer te groot voor het hoofdbestand is kijk dan voor de tweede regelnummer in het tweede bestand.
Ja weet ik dat ik zei 'makkelijk' in de eerste zin van deze stap en het wordt eigenlijk vrij ingewikkeld. Nadat je het werken van het makkelijke gedeelte is alleen het toevoegen van "fout;" waar een fout moet optreden. Het bespaart een belasting van tijd en bevordert robuuste code.