مدیریت استثنا (Exception Handling) به چه معناست؟

مدیریت استثنا (Exception Handling) به چه معناست؟
فهرست مقاله [نمایش]

     
    مدیریت استثنا مکانیزمی است که در آن یک ساختار برنامه‌نویسی برای به دام انداختن، رهگیری و رسیدگی به خطای رخ داده در طول اجرای برنامه استفاده می‌شود.
     زبان مشترک Runtime (CLR) دات نت برای استفاده از مدل مدیریت استثنا بر اساس اشیاء استثنا و بلوک های کد محافظت شده طراحی شده است.
    ویژگی های مکانیزم رسیدگی به استثنا که در CLR پیاده سازی شده است به شرح زیر است:

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


      NET runtime. استثناها را به‌عنوان اشیایی که از کلاس System.Exception ارث‌بری کرده‌اند پرتاب می‌کند که حاوی جزئیات خطا، از جمله پیام و خط کدی است که در آن خطا رخ‌داده است، و اطلاعات بیشتری در مورد خطا.
     ساختار "try..catch..finally" برای رسیدگی به استثناها استفاده می‌شود.

     درحالی‌که بلوک‌های «try» (جایی که استثناها پیش‌بینی می‌شوند)
    و «catch» (جایی که استثناها انجام می‌شوند) اجباری هستند،
    بلوک «finally» (جایی که کد درهرصورت اجرا می‌شود) اختیاری است.
    از بلوک «finally» برای پاک‌سازی منابع می‌توان استفاده نمود.

    در مقایسه با مدیریت خطا که با استفاده از روش‌های سنتی اجرا می‌شود
    متدها - مانند استفاده از کد بازگشتی مانند Component Object Model (COM) و دستورات "go to" مانند ویژوال بیسیک و غیره...


     مزایای اصلی استثناها در NET به دام انداختن همه خرابی‌ها، حذف فرایند بررسی بازگشت است. مقدار و استفاده از آن (در صورت نامعتبر بودن) در برنامه‌ها، استفاده در سناریوهایی که ارزش بازگشتی وجود ندارد؛ مانند سازنده‌ها، افزایش قابلیت اطمینان و عملکرد بهتر.

    درحالی‌که جاوا استثناهای "بررسی" را ارائه می‌دهد که به جلوگیری از بروز استثناهای کنترل نشده در طول کامپایل کمک می‌کند، آنها را نمی‌توان برای خطاهایی که شکست غیرقابل‌جبران هستند استفاده کرد.
    مدیریت استثناها در ++c با نداشتن بلوک " finally " برای پاک‌کردن منابع و بدون محدودیت برای نوع استثنا، با دات‌نت متفاوت است.

    شما به عنوان برنامه نویس چه در تیم باشید و چه به صورت شخصی کار می کنید باید حتما زمان مناسبی برای موضوع مدیریت خطا در برنامه خود اختصاص  دهید که در نهایت برنامه شما از خطراتی که از سمت خطاهای مدیریت نشده می تواند آسیب ببیند در امان باشد.

    در  دوره مدیریت خطا در سی شارپ و برنامه های Asp.Net Core  با انواع خطا ها در سی شارپ آشنا می شوید و یاد میگیرید چگونه میتوان مدیریت خطا در برنامه های Asp.net Core  را انجام داد.

     


    • نویسنده: روشن احمدی

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران