নিক্ষেপ কীওয়ার্ড
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
আরো ধনী এররের জন্য, code ও messageসহ একটি ম্যাপ 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;
}
আরও দেখুন
try/catch/finally— throw করা মান হ্যান্ডল করা।