close
دانلود فیلم
مديريت استثناها

مديريت استثناها

قبل از اينکه سيستم مديريت استثناها معرفی شود برنامه های کامپيوتری کاملا بدون خطا نبودند. البته برای گرفتن خطاها روش هائی وجود داشت که معمول ترين آن بررسی مقداری بود که توسط توابع برگردانده می شد و نحوه اجرای آن را بيان می کرد. کدی که تابع را فراخوانی می کرد مقدار بر گشتی را چک می کرد و مطابق با آن عمل می کرد (اگر با استفاده از Windows API برنامه نوشته باشيد با اين روش آشنا هستيد).

مفهوم کلی مديريت استثناها ساده است. هر زمان که استثنائی شناسائی می شود يک فلگ فرضی خطا بالا می رود. سيستمی همواره مراقب اين فلگ خطاست. و درصورت بالا رفتن فلگ کد مديريت خطا فراخوانی می شود. بالا رفتن فلگ خطا را اصطلاحا گير انداختن (throwing) خطا می نامند. وقتی خطائی به دام انداخته می شود سيستم با گرفتن خطا (catching) عکس العمل نشان می دهد. محاصره کردن بلاکی از کد حساس به خطا و مديريت استثنا را سعی کردن (trying) به اجرای بلاک می نامند.

دلايل خوبی برای استفاده از مديريت استثناها وجود دارد. مهمترين آن جداکردن کد مديريت خطا از کد برنامه است. وقتی استثنائی گرفته می شود مسيری موازی اجرا طی می شود و با اجرای نرمال کد برنامه تداخلی ندارد. اين باعث می شود نوشتن کد ساده تر شود چون مجبور نيستيد برای هر خطائی چک داشته باشيد. علاوه بر اين يک استثنا نمی تواند نديده گرفته شود و تضمين می کند که با خطا برخورد کند. و چون جلوی سقط ناخواسته برنامه را می گيرد اتکاپذيری برنامه را بالا می برد.

از مزايای ديگر مديريت استثناها اين است که خطا می تواند خارج از محدوده تابع گيرانداخته شود. يعنی اگر درونی ترين تابع خطائی داشته باشد اين خطا می تواند تا تابع بالائی که دارای بلاک trying است منتشر شود که به برنامه نويس اجازه می دهد کد مديريت خطا را در هر جا مثل تابع اصلی قرار بدهد.

به کانال تلگرام سایت ما بپیوندید