Reputation: 117
I wrote a T-SQL query which includes a test for valid EmployeeNo. If the EmployeeNo is not valid, I do the following:
RAISERROR(5005, 10, 1, N'Invalid Employee No')
return @@Error
Back in VB.Net I test the sql exception and found that when the Employee No is invalid the error.number is not 5005 as I would expect, but 2732.
What is the explanation for this?
Thank you.
Upvotes: 1
Views: 1306
Reputation: 432180
You can't raise an error 5005 in your own code. Only the DB Engine can do this.
Error 2732 is the error that says you can't raise messages < 50000
SELECT description FROM sys.sysmessages m WHERE m.error = 2732 AND msglangid = 1033
Error number %ld is invalid. The number must be from %ld through %ld and it cannot be 50000.
Upvotes: 1