شرح صفوف ومحتوى الفقرة
أحياناً تكون القيمة مقبولة نحوياً في اللغة (مثل عمر سالب -5 أو مبلغ سحب 0) لكنها مرفوضة في منطق تطبيقك! حينئذ نستخدم التعليمة throw new Error("سبب واضح") لإطلاق استثناء مخصص ينقل التنفيذ فوراً إلى كتلة catch.
أطلق دائماً كائناً حقيقياً عبر new Error(...) وتجنب رمي نص مجرد مثل throw "bad" حتى تظل خاصيتا err.name وerr.message متوفرتين بانتظام.
JavaScript
const transferUsd = -25;
let uiBanner = '';
let isBusy = true;
try {
if (transferUsd <= 0) throw new RangeError('Amount must exceed 0');
uiBanner = `Sent ${transferUsd} USD`;
} catch (err) {
uiBanner = `Validation failed: ${err.message}`;
} finally {
isBusy = false;
}
document.getElementById('th-out').textContent = `${uiBanner} | Busy: ${isBusy}`;