Header Ads Widget

SQL Server Error Handling – TRY...CATCH (हिंदी में)

SQL Server Error Handling – TRY...CATCH (हिंदी में)

🔒 SQL Server Error Handling using TRY...CATCH – हिंदी में पूरी जानकारी

🔑 Memory में रखें (परिभाषा)

SQL Server में TRY...CATCH block का उपयोग errors को पकड़ने (handle) और proper message/log देने के लिए किया जाता है। यह runtime errors को gracefully manage करने का तरीका है।

🧾 Syntax

BEGIN TRY
   -- आपकी main SQL Query
END TRY
BEGIN CATCH
   -- Error Handling Logic
   SELECT ERROR_NUMBER() AS ErrorNumber,
          ERROR_MESSAGE() AS ErrorMessage;
END CATCH

📘 Example 1: Divide by Zero Error

BEGIN TRY
    DECLARE @a INT = 10, @b INT = 0;
    SELECT @a / @b AS Result;
END TRY
BEGIN CATCH
    SELECT ERROR_NUMBER() AS ErrorCode,
           ERROR_MESSAGE() AS ErrorDetail;
END CATCH

📘 Example 2: Table Insert with Error Handling

CREATE TABLE Departments (
  ID INT PRIMARY KEY,
  DeptName NVARCHAR(50)
);

BEGIN TRY
  INSERT INTO Departments (ID, DeptName) VALUES (1, 'HR');
  INSERT INTO Departments (ID, DeptName) VALUES (1, 'Finance'); -- Duplicate ID
END TRY
BEGIN CATCH
  SELECT ERROR_NUMBER() AS ErrorCode,
         ERROR_MESSAGE() AS ErrorDetail;
END CATCH

📋 Common Error Functions

  • ERROR_NUMBER() – Error का code देता है
  • ERROR_MESSAGE() – Error का message
  • ERROR_LINE() – Line number जहां error आया
  • ERROR_SEVERITY() – Severity level
  • ERROR_STATE() – Internal state code

📊 Severity Level (1 से 25 तक)

SQL Server में errors की seriousness को Severity Level के माध्यम से दर्शाया जाता है:

  • 1–10: Informational messages (warnings या suggestions)
  • 11–16: User-generated errors (input, query errors)
  • 17: Insufficient resources (memory, disk आदि)
  • 18: Nonfatal internal error (admin attention जरूरी)
  • 19: Rare software errors (DBA को ही execute करने की अनुमति)
  • 20–25: Fatal errors – Connection break, DB corruption, hardware failure

👉 Generally, users को 11–16 तक के error levels का सामना होता है, बाकि system या admin level पर handle होते हैं।

🧠 INTERVIEW QUESTIONS (with Answers)

  1. Q: TRY...CATCH का उपयोग क्यों किया जाता है?
    Ans: Error handling और debugging के लिए।
  2. Q: ERROR_MESSAGE() क्या return करता है?
    Ans: Error से जुड़ा message जो developer समझ सके।
  3. Q: क्या TRY...CATCH के बिना error पकड़ा जा सकता है?
    Ans: नहीं, error आएगा और query terminate हो जाएगी।
  4. Q: क्या TRY...CATCH nested हो सकता है?
    Ans: हाँ।
  5. Q: Severity level क्या दर्शाता है?
    Ans: Error की seriousness (1 से 25 तक)। Higher level → ज्यादा खतरनाक।

📘 यह पोस्ट Job Oriented Academy द्वारा SQL को error-proof और production-ready बनाने में मदद के लिए बनाई गई है।

Post a Comment

0 Comments