عبارت Try … Catch به شما نشان می دهد که یک بلاک از کد را برای خطا چک کند خطاهای فریبنده ی جاوا اسکریپت زمانی که یک صفحه ی وب در اینترنت باز می شود ما یک جعبه ی هشدار جاوا اسکریپت را دیده ایم که به ما می گوید که یک خطای زمان اجرا وجود دارد و می گوید : آیا دوست دارید اشکال زدایی شود؟ پیغام خطایی مانند این ممکن است برای توسعه دهندگان مفید باشد اما نه برای کاربران . زمانی که کاربر خطاها را می بیند معمولا صفحه ی وب را ترک می کند. این بخش به شما آموزش میدهد که چگونه پیغامهای خطای جاوا اسکریپت را متوجه شوید و اداره کنید. عبارت Try … Catch عبارت Try … Catch به شما اجازه می دهد که یک بلاک از کد جاوا اسکریپت را برای خطا چک کنید . بلاک Try شامل کدهایی برای اجراست و بلاک Catch شامل کدهایی است که اگر خطایی رخ دهد اجرا می شود. Syntax try { //Run some code here } catch(err) { //Handle errors hereتوجه : این Try … Catch با حروف کوچک نوشته می شود . استفاده از حروف بزرگ برای نوشتن آن موجب ایجاد خطا ی جاوا اسکریپت می شود. مثال ۱ : در مثال زیر فرض شده که زمانی که کاربر بر روی دکمه کلیک کند پیغام ” Welcome guest! “ ظاهر می شود .هرچند در اینجا در تابع message() غلط املایی وجود دارد . alert() با املای غلط به کار بردن() adddlert است . یک خطای جاوا اسکریپت رخ داده است. بلاک Catch دچار یک خطا شده است و یک کد عادی برای اداره ی آن اجرا می کند . این کد نشان می دهد که یک پیغام خطای عادی به کاربر می گوید که چه کاری انجام دهد .
پاسخ : عبارت Try … Catch جاوا اسکریپت Example <html> <head> <script> var txt="" function message() { try { adddlert("Welcome guest!"); } catch(err) {مثال ۲ : مثال بعدی از یک جعبه ی تایید برای نشان دادن یک پیغام عادی که به کاربران می گوید که آنها می توانند بر روی ok کلیک کنند و به دیدن صفحه ادامه بدهند و یا بر روی Cancel کلیک کنند و به صفحه ی homepage بروند؛ استفاده می کند .اگر روش تایید مقدار false برگرداند ، کاربر بر روی cancel کلیک کرده و کد کاربر را دوباره هدایت می کند .اگر روش تایید مقدار true برگرداند کدها کار خاصی انجام می دهد .
پاسخ : عبارت Try … Catch جاوا اسکریپت Example <html> <head> <script> var txt="" function message() { try { adddlert("Welcome guest!"); } catch(err) { txt="There was an error on this page.\n\n"; txt+="Click OK to continue viewing this page,\n"; txt+="or Cancel to return to the home page.\n\n"; if(!confirm(txt)) { document.location.href="http://www.w3schools.com/"; } } } </script> </head> <body> <input value="View message" /> </body> </html>
پاسخ : عبارت Try … Catch جاوا اسکریپت عبارت throw عبارت throw می تواند همراه با try … catch بزای ایجاد یک حالت خاص برای خطا استفاده می شود . درباره ی عبارت throw در فصل بعد یاد خواهیم گرفت