Forum: Mikrocontroller und Digitale Elektronik Behandlung fehlerhafte Rückgabe von Funktionen


von Firmwerker (Gast)


Lesenswert?

Hallo und guten Morgen,

meine Firmware-Applikation hat einige Funktionen, wo ich den 
Rückgabewert behandeln sollte. Welche Möglichkeiten gibt es 
beziehungsweise wechen Weg sollte man einschlagen?

Beispiel:
1
uint8_t status = TestFunction();
2
if(status == != STATUS_OK)
3
{
4
  // return -1
5
}

von Thomas Z. (usbman)


Lesenswert?

Firmwerker schrieb:
> Beispiel:
> uint8_t status = TestFunction();
> if(status == != STATUS_OK)
> {
>   // return -1
> }

Zeig erst mal ein halbwegs fehlerfreies Beispiel was du eigentlich 
machen willst. Dann können wir weiterreden.

Ob du den Rückgabewert überhaupt auswerten willst kannst du selbst 
entscheiden. Eine Funktion die einen Wert zurück geben soll muss das 
auch tun, sonst gibts mecker vom Compiler

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Firmwerker schrieb:
> Welche Möglichkeiten gibt es
> beziehungsweise wechen Weg sollte man einschlagen?

Fehler ignorieren,
Fehler fuehrt zum sofortigen Anhalten der CPU,
Fehler fuehrt zu Wiederholung der schiefgegangenen Funktion.

Und das sind nur 3 Moeglichkeiten - Erlaubt ist, was gefaellt...

Gruss
WK

von Udo S. (urschmitt)


Lesenswert?

In dem Beispiel fehlt mir das goto

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Firmwerker schrieb:
> fehlerhafte Rückgabe von Funktionen
Wo werden denn da Funktionen zurückgegeben?

von Stefan F. (Gast)


Lesenswert?

Firmwerker schrieb:
> Welche Möglichkeiten gibt es
> beziehungsweise wechen Weg sollte man einschlagen?

Manche Firmen verpacken die Fehlermeldung zusammen mit allen Daten die 
sie bekommen können, und laden das dann in ihre chinesische Cloud hoch.

von FOp (Gast)


Lesenswert?

Dergute W. schrieb:
> Fehler ignorieren,
> Fehler fuehrt zum sofortigen Anhalten der CPU,
> Fehler fuehrt zu Wiederholung der schiefgegangenen Funktion.
>
> Und das sind nur 3 Moeglichkeiten - Erlaubt ist, was gefaellt...

Also der MISRA gefällt Möglichkeit 1 jedenfalls gar nicht ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.