নিক্ষেপ কীওয়ার্ড

throw একটি এরর রেইজ করে এবং একটি ম্যাচিং try / catch পাওয়া পর্যন্ত স্ট্যাক আনওয়াইন্ড করে। বাংলা রূপ নিক্ষেপ সমার্থক।

Bnlang-এ কোনো বিল্ট-ইন Error ক্লাস নেই — আপনি যেকোনো মান throw করতে পারেন। কনভেনশন অনুযায়ী, একটি বর্ণনামূলক স্ট্রিং throw করুন।

সিনট্যাক্স

throw <expression>;

উদাহরণ

function divide(a, b) {
    if (b == 0) {
        throw "divide by zero";
    }
    return a / b;
}

try {
    print(divide(10, 0));
} catch (e) {
    print("caught:", e);   // caught: divide by zero
}

একটি ম্যাপ throw

আরো ধনী এররের জন্য, codemessageসহ একটি ম্যাপ throw করুন:

function fetch_user(id) {
    if (id == null) {
        throw { code: "BAD_INPUT", message: "id is required" };
    }
    // ...
}

try {
    fetch_user(null);
} catch (e) {
    print(e.code, "-", e.message);   // BAD_INPUT - id is required
}

Uncaught throws

কখনো catch না হওয়া throw প্রোগ্রামকে non-zero exit কোডে terminate করে, throw করা মান এবং সোর্স অবস্থান প্রিন্ট করে।

বাংলা রূপ

ফাংশন divide(a, b) {
    যদি (b == 0) {
        নিক্ষেপ "divide by zero";
    }
    ফেরত a / b;
}

আরও দেখুন