PDA

Vollständige Version anzeigen : Try Catch


FrankMueller
06.03.2008, 09:52
Hallo!
Ich habe einen try catch Block!Wenn er in die Catch Anweisung springt,dann soll er mir als erstes die Fehlermeldung in meine Fehlermeldungstabelle eintragen und dann danach eine Exception auslösen!Wie schaffe ich es,dass er den INSERT in die Fehlermeldung einträgt und dann danach erst die Exception auslöst!Normal ist es ja so,dass er danach komplett einen ROLLBACK ausführt und daher auch nichts eingetragen wird in die Fehlermeldungstabelle!
Hier mein Code:
Catch ex As Exception
reader.Close()
command.CommandText = ("INSERT INTO dbo.Fehlermeldung (ErrorMessage) values ('" & ex.Message & "')")
iAnzahl = command.ExecuteNonQuery()
command.Commit()
SqlContext.Pipe.Send("BEIM VERARBEITEN DER KENNZAHL TRAT FOLGENDE AUSNAHME AUF:" + ex.Message)
Throw (New Exception())
Finally
connection.Close()
End Try

Noodles
06.03.2008, 10:30
Ich verstehe Deine Frage nicht?
Man verwendet nicht Throw (New Exception()), sondern Throw ( falls das in VB.NET funktioniert. Denn mit Throw (New Exception()) verliert man den StackTrace der ursprünglichen Exception.

FrankMueller
06.03.2008, 10:54
Ja stimmt,aber es geht mir nciht um die Throw Exception,sondern, dass er mir den INSERT in die Tabelle nicht ausführt sobald er die Exception auslöst!also er generell einen ROLLBACK ausführt!

FrankMueller
20.03.2008, 06:57
Noch mal zu meinem Problem,gibt es eine Möglichkeit,dass ein SQL Befehl innerhalb meiner in VB.Net geschriebenen Stored Procedure ausgeführt wird,obwohl er eine Exception ausruft???
Allgemein wird ja immer bei einer Exception ein Rollback ausgeführt,kann ich es erzwingen, ein commit in .net auszuführen???