Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Ez a függvény visszaadja azt a sorszámot, amikor egy TRY CATCH blokkot okozta hiba előfordult... CATCH konstrukció végrehajtásra.
Transact-SQL szintaxis konvenciók
Szemantika
ERROR_LINE ( )
Visszatérési típus
int
Visszaadott érték
Ha CATCH blokkban hívják, ERROR_LINE visszatér
- a sorszám, ahol a hiba történt
- a sorszám egy rutinban, ha a hiba egy tárolt eljárásban vagy triggerben történt
- NULL, ha a CATCH blokk hatókörén kívül hívják.
Megjegyzések
A hívás ERROR_LINE bárhol megtörténhet a CATCH blokk keretein belül.
ERROR_LINE visszaadja azt a sorszámot, ahol a hiba történt. Ez függetlenül attól, hogy a hívás hol helyezkedik ERROR_LINE el a CATCH blokk hatókörén belül, és attól függ, hány hívás érkezik .ERROR_LINE Ez ellentétben áll a @@ERROR-es függvényekkel. @@ERROR hibászámot ad vissza a hibát okozó utasítás utáni állításban, vagy a CATCH blokk első állításában.
A beépített CATCH blokkokban ERROR_LINE visszaadja a hibasorszámot, amely a CATCH blokk hatókörére vonatkozik, amelyben hivatkoznak. Például a TRY... CATCH blokkja... A CATCH konstrukció tartalmazhat egy beágyazott TRY-t... CATCH konstrukció. A beágyazott CATCH blokkban ERROR_LINE visszaadja a sorszámot annak a hibának, amely a beágyazott CATCH blokkot idézte elő. Ha ERROR_LINE a külső CATCH blokkban fut, akkor visszaadja annak a hibának a sorszámát, amely az adott CATCH blokkot idézte elő.
Példák
A. ERROR_LINE használata egy CATCH blokkban
Ez a kódpélda egy SELECT olyan állítást mutat, amely nullával osztó hibát generál.
ERROR_LINE visszaadja azt a sorszámot, ahol a hiba történt.
BEGIN TRY
-- Generate a divide-by-zero error.
SELECT 1/0;
END TRY
BEGIN CATCH
SELECT ERROR_LINE() AS ErrorLine;
END CATCH;
GO
B. ERROR_LINE használata egy CATCH blokkban tárolt eljárással
Ez a példa egy tárolt eljárást mutat, amely nullával osztó hibát generál.
ERROR_LINE visszaadja azt a sorszámot, ahol a hiba történt.
-- Verify that the stored procedure does not already exist.
IF OBJECT_ID ( 'usp_ExampleProc', 'P' ) IS NOT NULL
DROP PROCEDURE usp_ExampleProc;
GO
-- Create a stored procedure that
-- generates a divide-by-zero error.
CREATE PROCEDURE usp_ExampleProc
AS
SELECT 1/0;
GO
BEGIN TRY
-- Execute the stored procedure inside the TRY block.
EXECUTE usp_ExampleProc;
END TRY
BEGIN CATCH
SELECT ERROR_LINE() AS ErrorLine;
END CATCH;
GO
C. ERROR_LINE használata CATCH blokkban más hibakezelő eszközökkel
Ez a kódpélda egy SELECT olyan állítást mutat, amely nullával osztó hibát generál.
ERROR_LINE visszaadja a sorszámot, ahol a hiba történt, valamint magával a hibával kapcsolatos információkat.
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
Lásd még:
TRY... CATCH (Transact-SQL)
sys.messages (Transact-SQL)
ERROR_NUMBER (Transact-SQL)
ERROR_MESSAGE (Transact-SQL)
ERROR_PROCEDURE (Transact-SQL)
ERROR_SEVERITY (Transact-SQL)
ERROR_STATE (Transact-SQL)
RAISERROR (Transact-SQL)
@@ERROR (Transact-SQL)