Fehlerbehandlung im gehosteten Dienst
-
Mittwoch, 20. Juni 2012 19:34
Hallo,
ich habe ein VB.NET - Konsolenprogramm das ich als Dienst laufen lasse. Funktioniert soweit Prima.
Meine Fehlerbehandlung sieht so aus.
Try objConn.Open() Catch ex As Exception strText = "Fehler beim Herstellen der Datenbankverbindung." gstrFehler += "ProtokollSchreiben(1)" & vbCrLf & ex.Message & vbCrLf Exit Do End TryOffensichtlich lassen sich Laufzeitfehler bei mir so nicht abfangen. In der app.config habe ich entsprechende Parameter gesetzt.
<serviceBehaviors> <behavior> <!-- Legen Sie den Wert unten auf "false" fest, um die Veröffentlichung von Metadateninformationen zu vermeiden, und entfernen Sie den Metadatenendpunkt oben vor der Bereitstellung. --> <serviceMetadata httpGetEnabled="True"/> <!-- Damit in Fehlern Ausnahmedetails zum Debuggen angezeigt werden, legen Sie den Wert unten auf "true" fest. Legen Sie ihn vor der Bereitstellung auf "false" fest, um die Veröffentlichung von Ausnahmeinformationen zu vermeiden. --> <serviceDebug includeExceptionDetailInFaults="True" /> </behavior> </serviceBehaviors>Ist bei einem Dienst Try/Catch nicht anwendbar?
Gruss Klaus.
KR
Alle Antworten
-
Mittwoch, 20. Juni 2012 23:38
Hallo,
nach dem ich jetzt endlich auch debuggen kann bin ich mit diesem Problem etwas weiter.
Zum Debuggen siehe "Debuggen eines lokal gehosteten WCF-Diensts".
Im Debugger wird eine Ausnahme mit Try/Catch brav abgefangen, so wie man es sonst auch kennt. Ohne Debugger wird die Ausnahmebehandlung nicht durchgeführt.
Hat jemand eine Idee?
Gruss Klaus.
KR
-
Freitag, 22. Juni 2012 10:53Wo schreibst du den Fehler denn hin? Wenns nicht in den Catch block läuft kommt da auch kein Fehler oder der Fehler ist schon früher.
-
Freitag, 22. Juni 2012 11:14
Hallo Francesco,
ich hatte leider nicht genügend Zeit um den aktuellen Stand zu berichten. Also das Problem ist gelöst. Es hat sich gewissermaßen verflüchtigt. Die Stelle des provozierten Fehlers war ungünstig gewählt, so dass ich mich selbst in die Irre führte. Zudem kam noch anfangs hinzu das ich nicht debuggen konnte.
Ich habe jetzt zusätzlich um die ganze Service-Funktion ein Try/Catch angelegt damit auch unerwartete Fehler abgefangen werden.
Gruss Klaus.
KR
- Als Antwort markiert KlaRa1 Freitag, 22. Juni 2012 11:15

