Visual Basic for Applications:
ত্রুটিগুলি পরিচালনা করা

কিভাবে:

VBA এ, ত্রুটি প্রয়াস সাধারণত On Error বিবৃতি ব্যবহার করে বাস্তবায়িত হয় যা VBA কে নির্দেশ দেয় একটি ত্রুটি ঘটলে কীভাবে এগিয়ে যেতে হবে। সবচাইতে সাধারণ ত্রুটি প্রয়াস কৌশল অন্তর্ভুক্ত On Error GoTo লেবেল, On Error Resume Next, এবং On Error GoTo 0.

উদাহরণ 1: On Error GoTo ব্যবহার করা

এই পদ্ধতিটি আপনাকে একটি ত্রুটি ঘটার পরপরই নির্দিষ্ট একটি কোড বিভাগে প্রোগ্রামটিকে নির্দেশ দিতে সক্ষম করে, যা তারপর লেবেলযুক্ত।

Sub ErrorHandlerExample()
    On Error GoTo ErrHandler
    Dim intDivision As Integer

    intDivision = 5 / 0 ' এটি একটি শূন্য দ্বারা বিভাজন ত্রুটি ঘটাবে

    Exit Sub
ErrHandler:
    MsgBox "An Error Occurred: " & Err.Description, vbCritical, "Error!"
    Resume Next
End Sub

এই উদাহরণে, যেকোনো রান-টাইম ত্রুটি ErrHandler এ লাফ দেবে, একটি ত্রুটি বার্তা দেখাবে এবং তারপর ত্রুটির পরের লাইনটি নিয়ে এগিয়ে যাবে।

উদাহরণ 2: On Error Resume Next ব্যবহার করা

এই কৌশলটি VBA কে নির্দেশ দেয় যে ত্রুটি ঘটলেও পরবর্তী লাইনের কোড চালিয়ে যাবে, যা হানিকারক না হওয়া প্রত্যাশিত ত্রুটির ক্ষেত্রে বা আপনি পরে নির্দিষ্টভাবে ত্রুটিটি সম্পর্কে পরিচালনা করার পরিকল্পনা করে থাকেন তার জন্য উপকারী হতে পারে।

Sub ResumeNextExample()
    On Error Resume Next
    Dim intDivision As Integer
    intDivision = 5 / 0 ' এটি প্রোগ্রামকে থামাবে না; ত্রুটিটি অগ্রাহ্য হবে
    
    ' চেক করুন ত্রুটি ঘটেছে কি না
    If Err.Number <> 0 Then
        MsgBox "An Error Occurred: " & Err.Description, vbExclamation, "Handled Error"
        ' ত্রুটি রিসেট করুন
        Err.Clear
    End If
End Sub

এই ক্ষেত্রে, প্রোগ্রাম ত্রুটিতে ভেঙে পড়ে না; এটি চেক করে যে ত্রুটি ঘটেছে কি না, যদি ঘটে থাকে তাহলে এটি সামলানো হয়, এবং তারপর ত্রুটিটি পরিষ্কার করা হয়।

গভীর ডাইভ

ঐতিহাসিকভাবে, প্রোগ্রামিং ভাষায় ত্রুটি প্রয়াসের উন্নতি সাধারণ goto বিবৃতিগুলি থেকে জাভা এবং C# এর মতো ভাষাগুলিতে ব্যতিক্রম মতো আরও উন্নত যন্ত্রপাতিগুলিতে ঘটেছে। VBA এর ত্রুটি প্রয়াস, আধুনিক ব্যতিক্রম প্রয়াসের তুলনায় যতো শক্তিশালী বা নমনীয় নাও হতে পারে, তবে এটি মাইক্রোসফট অফিস পরিবেশে কাজ অটোমেশনের প্রয়োজন মেটানোর প্রেক্ষিতে এর উদ্দেশ্য পূরণ করে।

VBA এর ত্রুটি প্রয়াসের প্রধান সীমাবদ্ধতা এর কিছুটা ঝামেলাপূর্ণ এবং ম্যানুয়াল প্রয়োগে নিহিত, যা ত্রুটি প্রয়াস কোডের যত্নশীল প্লেসমেন্ট এবং নির্বাহের প্রবাহের স্পষ্ট বোঝাপড়া দাবি করে। আধুনিক প্রোগ্রামিং ভাষাগুলি সাধারণত আরও মার্জিত সমাধান অফার করে, যেমন try-catch ব্লকগুলি, যা ম্যানুয়াল চেকগুলি বা কোড নির্বাহের লাফের প্রয়োজন ছাড়াই স্বয়ংক্রিয়ভাবে ত্রুটি প্রয়াস কোডের প্রবাহকে সামলাতে সক্ষম হয়।

এই সীমাবদ্ধতাগুলি সত্ত্বেও, VBA এর ত্রুটি প্রয়াস যন্ত্রপাতি অধিকাংশ অটোমেশন কাজের জন্য উপযুক্ত এবং যখন সঠিকভাবে ব্যবহার করা হয়, তখন এটি ব্যবহারকারীদের জন্য সমস্যা সৃষ্টি করার সম্ভাবনা বিশেষভাবে হ্রাস করতে পারে। অতিরিক্তভাবে, VBA এর ত্রুটি প্রয়াস বোঝা সফটওয়্যার ডেভেলপমেন্টে ত্রুটি প্রয়াসের কৌশলের বিবর্তন এবং পুরানো প্রোগ্রামিং প্যারাডাইমগুলি সম্পর্কে অন্তর্দৃষ্টি প্রদান করতে পারে।