.NET-Software-Entwicklung - DotNetNuke - Business-Develoment
# Wednesday, May 10, 2006

Try/Catch Block in SQL Server 2005

Der SQL Server 2005 unterstützt nun eine deutlich bessere Fehlerbehandlung unter T-SQL - ein Try/catch Block erlaubt ein Errorhandling. Die Handhabung ist eigentlich wie bei allen Try/catch-Blöchen die man z.B. aus C#, VB.NET oder Delphi kennt.

Hier ein klassisches Beispeil - divison durch 0:

BEGIN TRY
   DECLARE @X INT
   -- Divide by zero to generate Error
   SET @X = 1/0
END TRY
BEGIN CATCH

   SELECT ERROR_NUMBER() ERNumber,
   ERROR_SEVERITY() Error_Severity,
   ERROR_STATE() Error_State,
   ERROR_PROCEDURE() Error_Procedure,
   ERROR_LINE() Error_Line,
   ERROR_MESSAGE() Error_Message
END CATCH

Als Ergebnis bekommt man:

Error Detected
Err_Num Err_Sev Err_State Err_Proc Err_Line Err_Msg
------- ------- --------- -------------------- --------- --------------------------------
8134 16 1 NULL 4 Divide by zero error encountered.

Ziemlich cool und bei complexen SQL-Statements kann ddas sehr hilfreich sein!


Wednesday, May 10, 2006 3:54:45 PM (W. Europe Daylight Time, UTC+02:00)  #    - Trackback
Datenbank
Tracked by:
"652.kolpa.cn" (652.kolpa.cn) [Trackback]
"9bb.hosemi.cn" (9bb.hosemi.cn) [Trackback]
"d2c.educaz.cn" (d2c.educaz.cn) [Trackback]
"af2.apilase.cn" (af2.apilase.cn) [Trackback]
"ee3.man4us.cn" (ee3.man4us.cn) [Trackback]
"molonline" (molonline) [Trackback]
"zaby.html" (zaby.html) [Trackback]
"laae.html" (laae.html) [Trackback]
"eaaj.html" (eaaj.html) [Trackback]
"eaak.html" (eaak.html) [Trackback]