त्रुटि का ढाँचा और न पकड़ी जाने वाली त्रुटियाँ

SQL Server में Transactions और Error Handling

Miriam Antona

Software Engineer

त्रुटि का ढाँचा

INSERT INTO products (product_name, stock, price)
    VALUES ('Trek Powerfly 5 - 2018', 10, 3499.99);
Msg 2627, Level 14, State 1, Line 1
UNIQUE KEY constraint 'unique_name' का उल्लंघन.
'dbo.products' ऑब्जेक्ट में डुप्लिकेट key डाली नहीं जा सकती.
डुप्लिकेट key मान (Trek Powerfly 5 - 2018) है.
SQL Server में Transactions और Error Handling

त्रुटि का ढाँचा

Error number

एक त्रुटि संदेश जो "Msg 2627" टेक्स्ट को हाईलाइट करता है, जो त्रुटि संख्या दर्शाता है.

  • SQL errors: 1 से 49999
  • अपनी errors: 50001 से शुरू
    select * from sys.messages
| message_id | language_id | severity | ... | text                                                            |
|------------|-------------|----------|-----|-----------------------------------------------------------------|
| ...        | ...         | ...      | ... | ...                                                             |
| 2627       | 1033        | 14       | ... | Violation of %ls constraint '%.*ls'. Cannot insert duplicate... |
| ...        | ...         | ...      | ... | ...                                                             |
SQL Server में Transactions और Error Handling

त्रुटि का ढाँचा

Severity level

एक त्रुटि संदेश जो "Level 14" टेक्स्ट को हाईलाइट करता है, जो त्रुटि की severity दर्शाता है.

  • 0-10: जानकारी वाले संदेश
  • 11-16: उपयोगकर्ता द्वारा सुधरने योग्य errors (constraint violation आदि)
  • 17-24: अन्य errors (सॉफ़्टवेयर समस्याएँ, घातक errors)
SQL Server में Transactions और Error Handling

त्रुटि का ढाँचा

State

एक त्रुटि संदेश जो "State 1" टेक्स्ट को हाईलाइट करता है, जो त्रुटि का state दिखाता है.

  • 1: जब SQL Server त्रुटि दिखाए
  • 0-255: अपनी errors
SQL Server में Transactions और Error Handling

त्रुटि का ढाँचा

Line

एक त्रुटि संदेश जो "Line 1" टेक्स्ट को हाईलाइट करता है, जहाँ त्रुटि हुई उस लाइन को दर्शाता है.

Procedure

एक त्रुटि संदेश जो "Procedure Insert_product" टेक्स्ट को हाईलाइट करता है, जहाँ त्रुटि हुई उस stored procedure का नाम दिखाता है.

SQL Server में Transactions और Error Handling

न पकड़ी जाने वाली त्रुटियाँ

  • Severity 11 से कम (11-19 पकड़ी जा सकती हैं)

  • Severity 20 या अधिक, जो कनेक्शन रोक दे

  • Compilation errors: जो ऑब्जेक्ट और कॉलम मौजूद नहीं हैं

SQL Server में Transactions और Error Handling

न पकड़ी जाने वाली त्रुटियाँ - कम्पाइलेशन त्रुटि उदाहरण

BEGIN TRY
    SELECT non_existent_column FROM products;
END TRY
BEGIN CATCH
    SELECT 'You are in the CATCH block' AS message;
END CATCH
Msg 207, Level 16, State 1, Line 2
Invalid column name 'non_existent_column'.
SQL Server में Transactions और Error Handling

अभ्यास करते हैं!

SQL Server में Transactions और Error Handling

Preparing Video For Download...