German ErrorLabel

ziwalig

Member
Licensed User
Longtime User
Hallo Zusammen

Ich Arbeite immer noch an meiner Arbeitszeiterfassung. Mein Problem sind jetzt meine eigenen Programmierfehler. :BangHead:

Da die Anwendung draussen auf den Handys läuft kann ich diese bei einem Fehler nicht zurücksetzen. Ich habe in unzähligen Prozeduren den ErrorLabel eingefügt um die Fehler abzufangen und die Anwendung wieder in einen kontrollierbaren Zustand zu versetzen. Aber es hat immer noch Fehler oder Fehlbedienungen die Fehler verursachen und die Anwendung kann dann nicht mehr benutzt werden bis ich diese persönlich zurücksetze.

Meine Frage: Gibt es eine Möglichkeit mit einem einzigen ErrorLabel über die Ganze Anwendung eine Fehlerbehandlung durch zu führen?

Wenn jemand eine Lösung kennt wäre ich sehr dankbar.

Gruss
Isidor
 

klaus

Expert
Licensed User
Longtime User
Die Antwort ist leider NEIN.

In B4PPC kann man nicht am Anfang des Programmes eine einzige ErrorRoutine definieren zu der Alle Fehler verzweigt würden egal wo der Fehler auftritt.

Man kann aber in den Routinen in denen Fehler auftreten könnten ein ErrorLabel setzen und nach dem ErrorLabel eine einzige Routine aufrufen.
Beiliegend ein kleines Programm mit ein Paar Beispielen.

Wenn Du aber Fehler abfangen willst die Du nicht mal vermutet hast sehe Ich leider keine realistische Lösung ausser dass Du in jeder 'kritischen' Routine ein ErrorLabel setzen würdest und in eine generelle Routine verzweigen.

Die Beste Lösung, für mich, ist programmatisch zu vermeiden dass Fehler auftreten oder diese Fehler in der Routine abzufangen in der der Fehler auftritt. Was leider sehr aufwendig ist.

Was sind eigentlich die meist auftretenden Fehler in Deinem Programm?
Meistens sind es doch User Eingabefehler die man entweder gleich abfangen muss oder besser dass der User sie gar machen kann.
Rechenfehler müssen auch programmatisch vermieden werden.

Meine Erfahrung ist leider folgende:
Falls der Benützer irgend einen Fehler machen kann, dann macht er den auch !
Und zu diesen 'blöden' Benützern gehöre Ich persönlich auch dazu, sogar in meinen eigenen Programmen.

Beste Grüsse.
 

Attachments

  • ErrorLabel.zip
    1.5 KB · Views: 221

ziwalig

Member
Licensed User
Longtime User
Danke Klaus für deine schnelle Antwort. Habe es leider vermutet, dass es nicht geht.

Mein nächste Problem ist jetzt noch den genauen Fehler, Zustand der Anwendung beim Fehler, heraus zu finden. Es nützt leider wenig wenn ich weiss das in einer Prozedur ein Fehler aufgetreten ist. Nützlich währen genauere Angaben über Variablen, Objekte usw.

Für dieses Problem habe ich die Debug.dll gefunden, weiss aber nicht ob das mein Problem löst, muss diese noch ausprobieren um sie zu verstehen.

Gruss
Isidor
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Die Antwort ist leider NEIN.

In B4PPC kann man nicht am Anfang des Programmes eine einzige ErrorRoutine definieren zu der Alle Fehler verzweigt würden egal wo der Fehler auftritt.

Man kann aber in den Routinen in denen Fehler auftreten könnten ein ErrorLabel setzen und nach dem ErrorLabel eine einzige Routine aufrufen.
Beiliegend ein kleines Programm mit ein Paar Beispielen.

Wenn Du aber Fehler abfangen willst die Du nicht mal vermutet hast sehe Ich leider keine realistische Lösung ausser dass Du in jeder 'kritischen' Routine ein ErrorLabel setzen würdest und in eine generelle Routine verzweigen.

Die Beste Lösung, für mich, ist programmatisch zu vermeiden dass Fehler auftreten oder diese Fehler in der Routine abzufangen in der der Fehler auftritt. Was leider sehr aufwendig ist.

Was sind eigentlich die meist auftretenden Fehler in Deinem Programm?
Meistens sind es doch User Eingabefehler die man entweder gleich abfangen muss oder besser dass der User sie gar machen kann.
Rechenfehler müssen auch programmatisch vermieden werden.

Meine Erfahrung ist leider folgende:
Falls der Benützer irgend einen Fehler machen kann, dann macht er den auch !
Und zu diesen 'blöden' Benützern gehöre Ich persönlich auch dazu, sogar in meinen eigenen Programmen.

Beste Grüsse.

Meine Frage mal ganz allgemein:
Gibt es so etwas wie "ErrorLabel" in B4PPC jetzt auch in B4A?

Wäre ja ganz praktisch ...
 

JOTHA

Well-Known Member
Licensed User
Longtime User
ErrorLabel gibt es nicht in B4A.
Es gibt die Try / Catch Funktion.
B4X:
Try
    ' der Code der fehlerhaft sein könnte
Catch
    ' code der durchgeführt wird wenn ein Fehler auftritt
End Try
Beste Grüsse.
Hallo Klaus,
leider bringt mir das nicht viel, aber ich danke Dir für deine Antwort. :)
 
Top