Moin!
ich habe nachfolgende Funktion in der für Test absichtlich ein Fehler enthalten ist:
In der Zeile 17 kommt es zum Fehler und anstatt in den Catch-Bereich zu springen kommt die Fehlermeldung erst in dem Try-Catch der aufrufenden Funktion.
Kann mir das einer von Euch erklären?
Gruß Jan
ich habe nachfolgende Funktion in der für Test absichtlich ein Fehler enthalten ist:
VB.NET-Quellcode
- Public Function GetEnv(ByVal Key As String, Optional ByRef Log As EBL.Service.Log = Nothing) As Tuple(Of Boolean, String)
- Dim Status As Boolean = True
- 'Todo: Add Fehlerrückgabe
- ' ------ ------
- Dim pref As Object = Application.Preferences
- Dim Value As String = ""
- ' Plotter - https://forums.autodesk.com/t5/net/setting-autocad-file-paths-in-vb-net/td-p/2248365
- Try
- Select Case Key.ToUpper
- Case "ACAD"
- Value = pref.Files.SupportPath
- Case "TEMPLATEPATH"
- Value = pref.Files.TemplateDwgPath
- Case "QNEWTEMPLATE"
- pref.Files.QnewTemplate = Value
- Case Else
- If Not IsNothing(Log) Then
- Log.WriteAsError("Ungültiger Name für eine Systemvariable '" & Key & "'")
- End If
- Status = False
- End Select
- Catch ex As Exception
- If Not IsNothing(Log) Then
- If ex.ToString.ToUpper.IndexOf("Der öffentliche Member " & Key & " für den Typ IAcadPreferencesFiles wurde nicht gefunden.".ToUpper) > -1 Then
- Log.WriteAsError("Unbekannte Umgebungsvariablen '" & Key & "' konnte nicht gelesen werden!")
- Else
- Log.WriteAsError("Fehler beim Lesen der Umgebungsvariablen '" & Key & "'!" & vbCrLf & _
- "Value:= " & Value & vbCrLf & ex.ToString)
- End If
- End If
- Status = False
- End Try
- Return Tuple.Create(Status, Value)
- End Function
In der Zeile 17 kommt es zum Fehler und anstatt in den Catch-Bereich zu springen kommt die Fehlermeldung erst in dem Try-Catch der aufrufenden Funktion.
Kann mir das einer von Euch erklären?
Gruß Jan