پرش به محتوا

سی‌شارپ/مدیریت استثناها

ویکی‎کتاب، کتابخانهٔ آزاد
' مدیریت استثناها رابط های گرافیکی کاربر
سی‌شارپ


مدیریت استثنا ها یعنی اگر در قطعه کدی که نوشته اید خطای رخ دهد که خطای رخ داده می تواند خطای کامیپایلی باشد یا خطای در زمان اجرا که خطای کامپایلر قبل از اجرا شدن برنامه به برنامه نویس نشان داده می شود به عنوان مثال خطای اشتباه نوشتن دستورات سی شارپی و ... که جلوی اجرا برنامه را می گیرد اما خطای در زمان اجرا خطای که کاربر برنامه شما مسبب می شود مثلا تعداد خرید کالا را منفی وارد می کند یا تقسیم یک عدد بر صفر یا در جای تعداد کالا از حروف به جای اعداد استفاده می کندو... ، شما باید بتوانید آن را مدیریت کنید و این عمل چند فایده دارد :

  1. برای خطای که در برنامه تان رخ داده می توانید سریع و راحت تر عیب یابی نمایید و مطلع بشوید ایرادات رخ داده در کدام قسمت برنامه صورت گرفته.
  2. در صورت وقوع خطا آنرا با نمایش پیغام مناسب مدیریت نمایید، تا کاربر بهتر آنرا درک کند، وعلت خطا را بداند.

حال کافی است برای این کار از :

    try
       {
        Person myPerson= new person();
        string Name= myPerson.Name; 
       }


در صورت خطا به قسمت زیر می آید و آنرا نمایش می دهد

       catch (Exception e)
       {
           Console.WriteLine(e.Message);
       }


برنامه چه خطا ایجاد کند وچه بدون خطا اجرا شود به این قسمت می آید

       finally
       {
           Console.WriteLine("Executed");
       }

برای تست کافی دستور زیر را در قسمت TRY کدتون وارد کنید تا قطعه کدتون با خطا مواجه بشه:

Throw New Exeption


البته مدیریت خطا بخش های مختلفی را شامل میشه به عنوان مثال در برنامه تان اگر از سرویس WCF استفاده کردید می توانید به TRY CATCH برنامه تان مدیریت خطای سرویس تان را نیز اضافه کنید

   catch(CommunicationException ex)
   {
    ارتباط با سرویس برقرار نمی باشد +ex.Message
   }