Hallo,
Mich würden gängige Wege zur Fehlerbehandlung interessieren.
Beispiel: Ich hätte die Klasse interface welche mit der seriellen
Schnittstelle kommuniziert. Für das senden von Informationen gäbe es die
Funktion send welche die C-funktion für das senden aufruft. Die
c-funktion gibt die anzahl der gesendeten bytes zurück.
Wenn jetzt aber nicht alle bytes gesendet wurden ist dies eigentlich ein
Fehler.
Beispiel:
(eventuelle Programmierfehler einfach ignorieren, geht nur ums prinzip)
1 | class interface
|
2 | {
|
3 | ....
|
4 |
|
5 | void send(xyz variable)
|
6 | {
|
7 | bytelaenge=sizeof(variable);
|
8 | gesendetebytes=::send(variable, bytelaenge);
|
9 | if(gesendetebytes != bytelaenge)
|
10 | {
|
11 | ////ERROR
|
12 | }
|
13 | }
|
14 |
|
15 | ....
|
16 | }
|
Gibt es da einen gängigen Weg für die Fehlerbehandlung?
Ich habe z.B. schon die Funktionen good() und bad() gesehen, welche
angeben ob die letzte Klassenfunktion ohne Fehler ausgeführt wurde.
Dann gäbe es ja noch die try und catch Methode, welche eventuell aber
hier stört da mancher Entwickler es einfach nur senden will.
Was würdet ihr empfehlen?