دستورات خطا (Error Statements)
در این صفحه «دستورات خطا جاوااسکریپت» را می بینیم. «خطا (Error)» یعنی برنامه طبق انتظار پیش نرود. «استثناء (Exception)» همان خطای زمان اجراست. با این دستورات، برنامه نمی ایستد و مدیریت می شود.
try...catch: تلاش کن و مهار کن
«try» کد حساس را اجرا می کند. «catch» فقط هنگام خطا اجرا می شود. «شیء خطا (Error Object)» جزئیات خطا را دارد.
try {
// Code that may cause an error
}
catch (error) {
// Code to handle the error
}
finally: همیشه اجرا کن
«finally» بعد از try و catch اجرا می شود. چه خطا باشد چه نباشد. برای پاک سازی عالی است.
try {
// risky work
}
catch (err) {
// handle error
}
finally {
// cleanup always runs
}
throw: خودت خطا بساز
«throw» یک استثناء می سازد. می توانی متن، عدد، یا شیء پرتاب کنی.
throw "Too big";
throw 500;
نمونه اعتبارسنجی ورودی
اگر ورودی بد باشد، با throw خطا بساز. سپس با catch پیام قابل فهم نشان بده.
function validate(x) {
try {
if (x.trim() === "") {
throw "empty";
}
if (isNaN(x)) {
throw "not a number";
}
const n = Number(x);
if (n < 5) {
throw "too low";
}
if (n > 10) {
throw "too high";
}
return "OK";
}
catch (err) {
return "Input is " + err;
}
}
finally در عمل
در پایان، ورودی را ریست کن. حتی اگر خطا رخ دهد.
function onTest() {
let value = document.getElementById("demo").value;
try {
if (value.trim() === "") {
throw "is empty";
}
}
catch (err) {
document.getElementById("p01").innerHTML = "Error: " + err + ".";
}
finally {
document.getElementById("demo").value = "";
}
}
گام های عملی
- نمونه ها را در ادیتور باز کن.
- عمداً ورودی بد وارد کن.
- پیام خطا و اجرای finally را ببین.
جمع بندی سریع
- try برای اجرا، catch برای مهار است.
- finally همیشه اجرا می شود.
- با throw خطای سفارشی بساز.
- پیام های خطا را کاربرپسند کن.
برای شروع، خطاها: مقدمه را ببین. همچنین خطاهای بی صدا و شیء خطا را دنبال کن. این مسیر «دستورات خطا جاوااسکریپت» را کامل می کند.
منابع مرتبط: JavaScript Silent Errors و JavaScript Error Object.