ERROR_NUMBER (Transact-SQL)
Zwraca numer błędu błąd, który spowodował blok CATCH konstrukcji TRY…CATCH ma być uruchomiony.
ERROR_NUMBER ( )
Zwracane typy
int
Return Value
Po wywołaniu w blok CATCH zwraca wartość błędu liczba komunikat o błędzie, który spowodował blok CATCH do uruchomienia.
Zwraca wartość NULL, jeśli o nazwie poza zakres blok CATCH.
Remarks
Ta funkcja może być wywołana w dowolne miejsce w zakresie blok CATCH.
ERROR_NUMBER zwraca numer błędu, niezależnie od tego, ile razy, to jest wykonywane, którym jest uruchomiony w zakresie połowy blok.Jest to w przeciwieństwie do @@ błąd, który zwraca tylko numer błędu w instrukcja znajdującej się bezpośrednio po tej, która powoduje błąd, lub w pierwszej instrukcja blok CATCH.
W blokach CATCH zagnieżdżone, ERROR_NUMBER zwraca błąd numer do zakres od połowy zablokować, w której istnieje odwołanie.Na przykład blok CATCH zewnętrzne konstrukcja TRY... CATCH może mieć zagnieżdżonych konstrukcja TRY... CATCH.W obrębie blok CATCH zagnieżdżone ERROR_NUMBER zwraca numer błędu, która wywołała zagnieżdżonych blok CATCH.Jeśli ERROR_NUMBER jest uruchamiana w zewnątrz blok CATCH, zwraca numer błędu, która wywołała tego blok CATCH.
Przykłady
A.Za pomocą ERROR_NUMBER w blok CATCH
Następujący kod przykładzie SELECT instrukcja generuje błąd dzielenia przez zero. Numer błędu jest zwracany.
USE AdventureWorks;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrorNumber;
END CATCH;
GO
B.Za pomocą ERROR_NUMBER w blok CATCH z innymi narzędziami obsługi błędów
Następujący kod przykładzie SELECT instrukcja generuje błąd dzielenia przez zero. Informacje, które odnoszą się do błędu jest zwracana wraz z liczbą błąd.
USE AdventureWorks;
GO
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage;
END CATCH;
GO
See Also