|
|
Kein Select Case ohne Case ElseKein Select Case ohne Case Else
Regel / Hinweis Wenn ein Select-Case-Statement verwendet wird, sollte man immer auch einen Case-Else-Zweig einfügen. Ansonsten kann es unbemerkt zu ungewollten Ergebnissen kommen. Erläuterung Der nachfolgende Code wandelt einen String abhängig von dessen Länge in einen Datumswert um: Function fncDatumLesen(strWert As String) As Date '7 Stellig - 1090602 = 02.06.2009 '6 Stellig - 980225 = 25.02.1998 Dim lngDay As Long Dim lngMonth As Long Dim lngYear As Long Wenn man einen String an diese Funktion übergibt, der nicht 6 oder 7 Zeichen lang ist, kommt es zu einem unerwarteten Ergebnis. Bei der Eingabe "11111" erhält man als Ergebnis das Datum "11.12.1999". Die kann so nicht gewollt sein. Wenn man einen Case-Else-Zweig einfügt und dort einen Fehler wirft, kann es nicht mehr zu diesem ungewollten Ergebnis kommen: Function fncDatumLesen(strWert As String) As Date '7 Stellig - 1090602 = 02.06.2009 '6 Stellig - 980225 = 25.02.1998 Dim lngDay As Long Dim lngMonth As Long Dim lngYear As Long Bei diesem Code führt die Übergabe einer 5-stelligen Zeichenfolge zu einem Fehler. Es kann also nicht mehr passieren, dass versehentlich mit einem ungewollten Wert weitergearbeitet wird. Die Regel, kein Select-Case-Statement ohne Case-Else-Zweig einzufügen, sollte man auch anwenden, wenn im Case-Else-Zweig kein Code zur Ausführung kommt: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Auf diese Weise macht der Code deutlich, dass der Case-Else-Zweig nicht einfach vergessen wurde sondern das es dort nichts zu tun gibt. Ergänzende Informationen - - -
|
02.10.2020: 06.11.2019: 06.05.2017: 27.03.2016: 23.05.2014: |
|
|