ERROR_NUMBER (Transact-SQL)
Zwraca numer błędu błąd, który spowodował CATCH blok TRY…CATCH konstrukcja ma zostać uruchomione.
Składnia
ERROR_NUMBER ( )
Zwracane typy
int
Wartość zwracana
Po wywołaniu w blokCATCH zwraca numer błędu spowodowane CATCH blok uruchamianie komunikat o błędzie.
Zwraca wartość NULL, jeśli o nazwie poza zakres blokCATCH.
Uwagi
Ta funkcja może zostać wywołana gdziekolwiek w zakres połowu blok.
ERROR_NUMBER zwraca numer błędu niezależnie od tego, ile razy jest uruchamiany lub gdzie jest uruchomiona w ramach zakres blokCATCH.Jest to rożni się @@ błąd, który zwraca tylko numer błędu w instrukcja niezwłocznie po jednej, która powoduje błąd lub pierwsza instrukcja CATCH blok.
W zagnieżdżone bloki CATCH ERROR_NUMBER zwraca numer błędu określonego blok CATCH, w której jest odwołanie do zakres .Na przykład, połowu blok TRY zewnętrzne...Konstrukcja CATCH może mieć zagnieżdżony blok TRY...CATCH konstrukcji.Zagnieżdżone połowu blokERROR_NUMBER zwraca numer błędu, która wywołała CATCH zagnieżdżonego blok.Jeśli ERROR_NUMBER jest uruchamiana w zewnętrznej połowu blok, zwraca numer błędu, która wywołała blokCATCH.
Przykłady
A.Za pomocą ERROR_NUMBER w blokCATCH
Następujący kod ilustruje przykład SELECT instrukcja , która generuje błąd dzielenia przez zero.Numer błędu jest zwracany.
USE AdventureWorks2008R2;
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 inne narzędzia do obsługi błędów
Następujący kod ilustruje przykład SELECT instrukcja , która generuje błąd dzielenia przez zero.Wraz z liczbą błędów zwracane są informacje, który odnosi się do błędu.
USE AdventureWorks2008R2;
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
Zobacz także