von TenBaseT » So, 28.03.2004 01:17
Hi Toxitom
das was in der Doku steht, kann man dann erst anwenden, wenn der Fehler bereits erkannt und die entspfrechenden Aktion ausgelöst wurde.
Ich möchte zu beginn einer Funktion die Übergabeparameter auf Plausibilität prüfen. Am Besten ich gebe einmal ein Beispiel:
Code: Alles auswählen
Function GetBincodeStr(aStock as Integer, aHall as Integer, aBin as Integer) as String
dim sStock as String
dim sHall as String
dim sBin as String
On Error Goto ErrorHandlig
if aStock < 1 or aStock > 99 then
hier Fehler auslösen
end if
if aHall < 0 or aHall > 999 then
hier Fehler auslösen
end if
if aBin < 0 or aBin > 999999 then
hier Fehler auslösen
end if
Wenn einer der übergebenen Parameter nicht plausibel ist, dann macht es keinen Sinn, überhaupt noch weiter zu arbeiten. Deshalbt ist es sinnvoll, einen Fehler auszulösen und darauf entsprechend zu reagieren. Wenn man so will, ist das der organisierte Programm- / Funktionsabbruch.
Ich könnte ja in überall wo
hier Fehler auslösen steht ein a = 1 / 0 einbauen. Dann würde ein Fehler Division by Zero Error ausgelöst. Sauber würde ich eine solche "Hilfslösung" mit Sicherheit nicht finden.
Hans
Hi Toxitom
das was in der Doku steht, kann man dann erst anwenden, wenn der Fehler bereits erkannt und die entspfrechenden Aktion ausgelöst wurde.
Ich möchte zu beginn einer Funktion die Übergabeparameter auf Plausibilität prüfen. Am Besten ich gebe einmal ein Beispiel:[code]Function GetBincodeStr(aStock as Integer, aHall as Integer, aBin as Integer) as String
dim sStock as String
dim sHall as String
dim sBin as String
On Error Goto ErrorHandlig
if aStock < 1 or aStock > 99 then
hier Fehler auslösen
end if
if aHall < 0 or aHall > 999 then
hier Fehler auslösen
end if
if aBin < 0 or aBin > 999999 then
hier Fehler auslösen
end if[/code]Wenn einer der übergebenen Parameter nicht plausibel ist, dann macht es keinen Sinn, überhaupt noch weiter zu arbeiten. Deshalbt ist es sinnvoll, einen Fehler auszulösen und darauf entsprechend zu reagieren. Wenn man so will, ist das der organisierte Programm- / Funktionsabbruch.
Ich könnte ja in überall wo [b]hier Fehler auslösen steht[/b] ein a = 1 / 0 einbauen. Dann würde ein Fehler Division by Zero Error ausgelöst. Sauber würde ich eine solche "Hilfslösung" mit Sicherheit nicht finden.
Hans