Catch SQL raise error in C#

后端 未结 3 568
既然无缘
既然无缘 2020-12-25 11:50

I generate the raise error in SQL procedure:

RAISERROR(\'Already exist\',-10,-10)

but I can not catch it using the following co

3条回答
  •  我在风中等你
    2020-12-25 12:31

    Use an error code within 11-16, or just use 16 for a "general" case.

    RAISERROR('Already exists',16,1)
    

    Why? Here's my 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)

提交回复
热议问题