Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL :Try/Catch n'attrape pas d'erreur lorsqu'il tente d'accéder à une table qu'il ne peut pas trouver

Au début de votre script, utilisez SET XACT_ABORT

SET XACT_ABORT ON

Je ne pense pas que ce sera possible :

Réf .

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