Skip to main content

Command Palette

Search for a command to run...

JavaScript এ Error Handling

Published
4 min read
JavaScript এ Error Handling

JavaScript একটি শক্তিশালী প্রোগ্রামিং ভাষা, যা ওয়েব ব্রাউজারে এবং সার্ভার-সাইড (Node.js) উভয় জায়গায় ব্যবহৃত হয়। তবে কোড লেখার সময় প্রায়ই আমরা এমন পরিস্থিতির সম্মুখীন হই যেখানে কোনো ভুল বা exception ঘটে। এই ধরনের সমস্যাগুলোকে আমরা Error Handling বা ত্রুটি পরিচালনার মাধ্যমে সহজভাবে সামলাতে পারি। JavaScript-এ এর জন্য রয়েছে try, catch, finally, throw এর মতো কীওয়ার্ড। এই ব্লগে আমরা বিস্তারিতভাবে এগুলো ব্যাখ্যা করব।


1. Error Handling কি এবং কেন প্রয়োজন?

প্রোগ্রামিং-এ Error বা Exception বলতে বোঝায় এমন একটি অবস্থা যা সাধারণ কোড এক্সিকিউশনকে ব্যাহত করে। উদাহরণস্বরূপ:

  • কোনো ভেরিয়েবল ডিফাইন্ড না থাকলে

  • division by zero

  • invalid JSON parse করা

  • network বা API request fail হওয়া

যদি এই ধরনের ত্রুটিগুলো হ্যান্ডেল না করা হয়, তাহলে পুরো অ্যাপ্লিকেশন ক্র্যাশ করতে পারে।

Error Handling আমাদের সাহায্য করে:

  • প্রোগ্রাম ক্র্যাশ হওয়া থেকে রক্ষা করতে

  • ব্যবহারকারীর জন্য সুন্দর error message দেখাতে

  • ত্রুটি লগ করতে

  • কোডের নির্দিষ্ট অংশের ব্যর্থতা হ্যান্ডেল করতে


2. try, catch, finally এর ব্যবহার

JavaScript-এ Error Handling করার জন্য সবচেয়ে সাধারণ পদ্ধতি হল try-catch-finally ব্লক।

Syntax

try {
    // সম্ভবত error ঘটতে পারে এমন কোড
} catch (error) {
    // error হ্যান্ডেল করার জন্য কোড
} finally {
    // কোড যা সবসময় execute হবে
}

ব্যাখ্যা:

  • try: এই ব্লকের মধ্যে এমন কোড রাখা হয় যেটি error ঘটাতে পারে।

  • catch: যদি try ব্লকে কোনো error ঘটে, catch ব্লক execute হয়। এখানে আমরা error object পেয়ে যাই।

  • finally: এই ব্লকটি সবসময় execute হয়, চাই error হোক বা না হোক। এটি cleanup কাজের জন্য ব্যবহার করা হয়।


উদাহরণ 1: সহজ try-catch

try {
    let result = 10 / 0;
    console.log(result);
} catch (error) {
    console.log("ত্রুটি ঘটেছে: " + error.message);
}

output:

ত্রুটি ঘটেছে: Division by zero

ব্যাখ্যা: এখানে division by zero ত্রুটি catch ব্লকে ধরা পড়েছে।


উদাহরণ 2: try-catch-finally

try {
    let data = JSON.parse('{"name":"Mannan"}');
    console.log(data.name);
} catch (error) {
    console.log("JSON parse error: " + error.message);
} finally {
    console.log("এই কোড সবসময় execute হবে।");
}

output:

Mannan
এই কোড সবসময় execute হবে।

এখানে JSON parse সফল হয়েছে, তাই catch ব্লক execute হয়নি, তবে finally ব্লক সবসময় execute হয়েছে।


3. throw কীভাবে ব্যবহার করবেন

throw ব্যবহার করে আমরা নিজে থেকে কোনো ত্রুটি তৈরি করতে পারি। এটি custom error message তৈরি করার জন্য ব্যবহার করা হয়।

উদাহরণ 3: throw ব্যবহার

function checkAge(age) {
    if (age < 18) {
        throw new Error("আপনি পর্যাপ্ত বয়সী নন।");
    } else {
        console.log("আপনি প্রবেশ করতে পারবেন।");
    }
}

try {
    checkAge(15);
} catch (error) {
    console.log("ত্রুটি: " + error.message);
}

output:

ত্রুটি: আপনি পর্যাপ্ত বয়সী নন।

এখানে আমরা নিজে থেকে error throw করেছি এবং catch ব্লকে হ্যান্ডেল করেছি।


4. বিভিন্ন ধরনের JavaScript Error

JavaScript এ কয়েকটি সাধারণ Error রয়েছে, যেমন:

  • SyntaxError: কোডের syntax ভুল হলে

  • ReferenceError: undefined variable access করলে

  • TypeError: type mismatch হলে

  • RangeError: invalid value range হলে

  • URIError: URI related সমস্যা হলে

উদাহরণ 4: ReferenceError

try {
    console.log(x); // x define করা হয়নি
} catch (error) {
    console.log("Error type: " + error.name);
    console.log("Error message: " + error.message);
}

output:

Error type: ReferenceError
Error message: x is not defined

5. Error Handling এর ভালো প্র্যাকটিস

  1. try-catch শুধুমাত্র যেখানে প্রয়োজন সেখানে ব্যবহার করুন:
    সব কোডে try-catch ব্যবহার করা performance কে প্রভাবিত করতে পারে।

  2. Custom error messages ব্যবহার করুন:
    ব্যবহারকারীর জন্য বোঝার উপযোগী message দিন।

  3. Finally ব্লক ব্যবহার করুন:
    resources clean করতে বা file/network connection close করতে।

  4. Logging করুন:
    console.log বা external logging system ব্যবহার করে error log করুন।


6. Real-life উদাহরণ

ধরে নিন আমরা একটি API call করছি এবং response থেকে data নিয়ে কাজ করছি। যদি network fail হয়, আমরা catch ব্লকে সেটা handle করতে পারি।

async function fetchData() {
    try {
        let response = await fetch("https://api.example.com/data");
        if (!response.ok) {
            throw new Error("Network response was not ok");
        }
        let data = await response.json();
        console.log(data);
    } catch (error) {
        console.log("API call failed: " + error.message);
    } finally {
        console.log("API call attempt complete.");
    }
}

fetchData();

এটি production-ready approach এর মতো কাজ করে।

JavaScript-এ Error Handling একটি অত্যন্ত গুরুত্বপূর্ণ বিষয়। try, catch, finally এবং throw এর সাহায্যে আমরা কোডকে more robust এবং user-friendly করতে পারি। এটি শুধুমাত্র ত্রুটি হ্যান্ডেল করে না, বরং আমাদের প্রোগ্রামকে crash হওয়া থেকে রক্ষা করে এবং debugging সহজ করে।

প্রকৃতপক্ষে, ভালোভাবে Error Handling করা মানে হলো নিরাপদ, স্থিতিশীল এবং maintainable কোড লেখা।

11 views

More from this blog

FilamentPHP কী এবং কেন ব্যবহার করবেন?

Laravel দিয়ে ওয়েব অ্যাপ্লিকেশন তৈরি করা আজকাল অনেক সহজ। কিন্তু একটা জায়গায় ডেভেলপারদের এখনও বেশ সময় লাগে—Admin Panel বা Backend Dashboard তৈরি করা। এই কাজটা সাধারণত repetitive, time-consuming এবং অনেক

Jun 16, 20263 min read8
FilamentPHP কী এবং কেন ব্যবহার করবেন?

Local Storage এবং Session Storage

ওয়েব ডেভেলপমেন্টে কাজ করার সময় প্রায়ই আমাদের দরকার হয় ব্রাউজারে ব্যবহারকারীর কিছু ডেটা সাময়িকভাবে সংরক্ষণ করার। যেমন – ব্যবহারকারীর নাম, থিম সেটিংস, লগইন টোকেন, কার্টে রাখা পণ্য ইত্যাদি। এই কাজটি করার জন্য আগে আমরা সাধারণত Cookies ব্যবহার করতাম। তবে ...

Sep 30, 20254 min read4
Local Storage এবং Session Storage

JSON (Parse, Stringify)

ওয়েব ডেভেলপমেন্টে কাজ করতে গেলে ডেটা আদান-প্রদান, সংরক্ষণ এবং ব্যবস্থাপনা করা অত্যন্ত জরুরি। এই ক্ষেত্রে সবচেয়ে জনপ্রিয় এবং বহুল ব্যবহৃত একটি ফরম্যাট হলো JSON। জাভাস্ক্রিপ্টে JSON কাজ করে অত্যন্ত সহজভাবে, বিশেষ করে যখন আমরা JSON.parse() এবং JSON.stri...

Sep 29, 20254 min read2
JSON (Parse, Stringify)

JavaScript Date & Time

সময়কে প্রোগ্রামিংয়ের মধ্যে সঠিকভাবে ব্যবহার করা খুব গুরুত্বপূর্ণ। অনেক ক্ষেত্রে আমাদের তারিখ (Date) এবং সময় (Time) নিয়ে কাজ করতে হয়, যেমন – কোনো ওয়েব অ্যাপে ইউজারের লগইন সময় দেখানো, অর্ডারের ডেলিভারি তারিখ ট্র্যাক করা, বা একটি ইভেন্টের কাউন্টডাউন তৈর...

Sep 28, 20253 min read
JavaScript Date & Time
S

SliceTech

86 posts

Sharing basic web development tutorials.

JavaScript এ Error Handling