Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL:Try/Catch non rileva un errore quando si tenta di accedere a una tabella che non riesce a trovare

All'inizio dello script usa SET XACT_ABORT

SET XACT_ABORT ON

Non credo che sarà possibile:

Ref .

USE AdventureWorks2012;
GO

BEGIN TRY
    -- Table does not exist; object name resolution
    -- error not caught.
    SELECT * FROM NonexistentTable;
END TRY
BEGIN CATCH
    SELECT 
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_MESSAGE() AS ErrorMessage;
END CATCH