2014年1月14日 星期二

SQL 錯誤訊息抓取

DECLARE @ERR_NO INT
DECLARE @ERR_MSG NVarChar(max)

SELECT 1/0;
SET @ERR_NO=@@ERROR

SELECT @ERR_MSG='ERR('+CAST(@ERR_NO AS NVarChar(max))+'): '+text
FROM sys.messages
WHERE language_id=1028
AND message_id = @ERR_NO;

PRINT @ERR_MSG;

--===============================

BEGIN TRY
SELECT 1/0;
END TRY
BEGIN CATCH
PRINT 'ERR('+CAST(ERROR_NUMBER() AS NVarChar(max))+'): '+ERROR_MESSAGE()
END CATCH
PRINT '仍繼續往下'

沒有留言: