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;
}
