DECLARE @MyValue int SELECT @MyValue = Column1 WHERE Column2 > 50 IF @MyValue IS NULL BEGIN RAISEERROR('This is my custom message from SQL.', 16, 1) END ELSE SELECT MyValue END
Use an error code within 11-16, or just use 16 for a “general” case.
RAISERROR('This is my custom message from SQL.',16,1)
Why? Here’s summary of https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/database-engine-error-severities?view=sql-server-2017:
SQL RAISERROR -> C#:
- 0-10 = fyi*
- 11-16 = you can fix it**
- 17-19 = get admin help
- 20-24 = definitely get admin help***
*(don’t throw anything) ┬──┬
**(16 = general)
***(fatal error)
Thanks hchiam
try { // Write your data access code here } catch (SqlException ex) { string errorMessage = ex.Message; int errorCode = ex.ErrorCode; }