Moin,
ich hab hier ein kleines Problem:
Ich erstelle einen Substring (von einem String). In diesen String (den
originalen) kommen Daten von einer SPS (RS-232 Port) an.
Wenn jetzt aber die SPS neugestartet wird oder kurz die Kommunikation
unterbricht, kommt eine Nullreferenceexception "Der Objektverweis wurde
nicht auf eine Objektinstanz festgelegt"
1 | If str1.Length > 6 Then substr1 = str1.Substring(str1.Length - 6) else
|
2 | If str1.length < 2 then msgbox ("Str1 leer")
|
Müsste das nicht schon ausreichen das keine Exception kommt, sondern
stattdessen die msgbox "Str1 leer"?
Klappt nicht, er markiert die erste Zeile des hier genannten Codes und
bringt eine Nullreferenceexception.
Außerdem klappt Try-Catch nicht:
1 | Try
|
2 | If str1.Length > 6 Then substr1 = str1.Substring(str1.Length - 6) else
|
3 | If str1.length < 2 then msgbox ("Str1 leer")
|
4 | Catch Nullreferenceexception As Exception
|
5 | Errorform.show
|
6 | Errorform.TextBox1.Text = Nullreferenceexception.ToString
|
7 | End Try
|
Hier kommt zeitgleich mit öffnen der Error-Form ein "Unbehandelte
Ausnahme in der Anwendung".
Da die Anwendung auch ohne die Daten im String / Substring erstmal
weiterarbeiten kann, soll lediglich eine Info für den Nutzer erscheinen
dass die Daten der SPS im String nicht zu Verfügung stehen, die
Exception soll vermieden werden.
Was mache ich falsch?