آموزش جاوا اسکریپت

مدیریت خطا در جاوا اسکریپت

آموزش جاوا اسکریپت از مبتدی تا حرفه ای

درس امروز از آموزش جاوا اسکریپت در مورد مدیریت خطا در جاوا اسکریپت است.

در هر برنامه ای ممکن است خطا رخ دهد و بروز خطا اجتناب ناپذیر است. پس باید راهی برای مدیریت خطاها وجود داشته باشد. راه مدیریت خطا در جاوا اسکریپت دستورات try و catch هستند که در ادامه توضیح می دهیم.

دستور try به شما امکان می دهد یک قطعه کد را برای بررسی خطاهای احتمالی، آزمایش کنید.

دستور catch به شما امکان می دهد خطایی را بررسی کنید.

دستور throw به شما امکان می دهد خطاهای سفارشی ایجاد کنید.

دستور finally به شما امکان می دهد بعد از try و catch ؛ بدون در نظر گرفتن نتیجه ، کد را اجرا کنید.


خطاها رخ خواهند داد!

هنگام اجرای کد جاوا اسکریپت ، خطاهای مختلفی ممکن است رخ دهد.

خطاها می توانند خطاهای کدگذاری شده توسط برنامه نویس ، خطاهای ناشی از ورودی اشتباه و سایر موارد غیرقابل پیش بینی باشند.

مثال

در این مثال ، ما دستور alert را به صورت اشتباه adddlert نوشتیم تا عمداً خطایی ایجاد کند:

خودتان آزمایش کنید

جاوا اسکریپت adddlert را به عنوان یک خطا می گیرد و برای مدیریت آن ، کد catch را اجرا می کند.


try و catch در جاوا اسکریپت

دستور try به شما امکان می دهد یک بلوک کد را برای وجود خطاهای احتمالی در هنگام اجرا، تست کنید.

دستور catch به شما امکان می دهد اگر خطایی در بلوک تست شده رخ داد، یک بلوک کد را اجرا کنید.

دستورات try و catch در جاوا اسکریپت، به صورت جفت آمده است:



جاوا اسکریپت خطا می دهد

وقتی خطایی رخ می دهد ، معمولاً جاوا اسکریپت متوقف شده و پیام خطایی ایجاد می کند.

اصطلاح فنی این امر عبارت است از: جاوا اسکریپت یک استثنا (اکسپشن) ایجاد می کند (خطا می دهد) .

جاوا اسکریپت در واقع یک شیء خطا با دو ویژگی ایجاد می کند: نام و پیام .


دستور throw

دستور throw به شما امکان می دهد خطای سفارشی ایجاد کنید.

از نظر فنی می توانید یک استثنا ایجاد کنید (خطا تولید کنید) .

استثنا می تواند یک String، یا Number، Booleanیا یک Object باشد :

اگر شما از throw به همراه try و catch استفاده کنید، می توانید جریان برنامه و تولید پیام های خطای سفارشی را کنترل کنید.


اعتبارسنجی داده های ورودی با جاوا اسکریپت

در این مثال ورودی بررسی می شود. اگر مقدار اشتباه باشد ، یک استثناء (خطا) ایجاد می گردد.

استثناء (خطا) توسط دستور catch گرفته شده و یک پیام خطای سفارشی نمایش داده می شود:

خودتان آزمایش کنید

اعتبار سنجی HTML

کد بالا فقط یک نمونه است.

مرورگرهای مدرن اغلب براساس قوانین اعتبارسنجی از پیش تعریف شده در ویژگی های HTML ، از ترکیب جاوا اسکریپت و اعتبار سنجی داخلی HTML استفاده می کنند:

می توانید اطلاعات بیشتر در مورد اعتبار سنجی فرم ها را در بخش بعدی این آموزش بخوانید.


دستور finally

دستور finally به شما اجازه می دهد، پس از try و catch صرف نظر از نتیجه، یک قطعه کد را اجرا کنید:

نحو

مثال

خودتان آزمایش کنید

شیء خطا

جاوا اسکریپت دارای یک شیء خطا است که هنگام بروز خطا اطلاعات خطا را ارائه می دهد.

شیء خطا دو ویژگی مفید دارد: نام و پیام.


ویژگی های شیء خطا

ویژگیشرح
نامنام خطایی را تنظیم یا برمی گرداند
پیامپیام خطایی را تنظیم یا بازمی گرداند (یک رشته)

مقادیر نام خطا

شش مقدار مختلف را می توان با خاصیت نام خطا برگرداند:

نام خطاشرح
EvalErrorدر عملکرد eval() خطایی رخ داده است
RangeErrorیک عدد “خارج از محدوده” رخ داده است
ReferenceErrorمرجع غیرقانونی رخ داده است
SyntaxErrorیک خطای نحوی رخ داده است
TypeErrorخطایی در نوع رخ داده است
URIErrorخطایی در encodeURI() رخ داده است

شش مقدار مختلف در زیر شرح داده شده است.


خطای Eval

خطای EvalError نشان دهنده بروز خطا در تابع eval() است.

نسخه های جدیدتر جاوا اسکریپت EvalError را پرتاب نمی کنند. به جای آن از SyntaxError استفاده می شود.


خطای محدوده

اگر از عددی استفاده کنید که خارج از محدوده مقادیر قانونی باشد ، خطای RangeError تولید می شود.

به عنوان مثال: شما نمی توانید تعداد رقم های عدد اعشاری را به 500 تنظیم کنید.

مثال

خودتان آزمایش کنید

خطای مرجع

در صورت استفاده از (مرجع) یک متغیر است که تعریف نشده است، خطای ReferenceError تولید می شود :

مثال

خودتان آزمایش کنید

خطای دستوری یا SyntaxError

اگر در تایپ یا استفاده از دستورات جاوا اسکریپت اشتباهی رخ دهد، خطای SyntaxError تولید می گردد.

مثال

خودتان آزمایش کنید

خطای نوع یا TypeError

اگر از مقداری استفاده کنید که خارج از محدوده نوع مورد انتظار باشد ، خطای TypeError ایجاد می شود:

مثال

خودتان آزمایش کنید

خطای (URI (Uniform Resource Identifier

اگر از کاراکترهای غیرمجاز در یک تابع URI استفاده کنید ، خطای URIError تولید می شود:

مثال

خودتان آزمایش کنید

ویژگی های غیر استاندارد شیء خطا

موزیلا و مایکروسافت برخی خصوصیات غیر استاندارد شیء خطا را تعریف می کنند:

fileName (Mozilla)
lineNumber (Mozilla)
columnNumber (Mozilla)
stack (Mozilla)
description (Microsoft)
number (Microsoft)

از این خصوصیات در وب سایت های عمومی استفاده نکنید. زیرا در همه مرورگرها کار نمی کنند.


مرجع کامل خطا ها در جاوا اسکریپت

برای مطالعه مرجع کامل شیء خطا در جاوا اسکریپت ، به مرجع کامل خطا در جاوا اسکریپت مراجعه کنید .


منبع : W3Schools.com


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *