دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۶
  • اسفند

جلسه ۲۱ : مدیریت خطا (Exception) در VB.NET

  • دسته‌بندی‌ها :
جلسه ۲۱ : مدیریت خطا (Exception) در VB.NET
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      وقت بخیر دوستان، با آموزش برنامه نویسی (Visual Basic.‌NET (VB.NET از وب سایت پی وی لرن همراه هستیم. با مدیریت خطا (Exception) در VB.NET در خدمتتون هستیم و مباحثی چون  ایجاد اکسپشن های تعریف شده توسط کاربر ، Throwing objects و کلاس های اکسپشن در فریم ورک Net. را نیز مورد بررسی قرار خواهیم داد. مدیریت اکسپشن ها بر پایه چهار کلمه ی کلیدی try، catch، finally و throw ساخته خواهد شد.

      مدیریت خطا (Exception) در VB.NET

      اکسپشن (Exception) مشکلی است که هنگام اجرای یک برنامه به وجود می آید. یک خطا (Exception) پاسخی است به یک شرایط استثنایی که هنگام اجرای برنامه به وجود می آید، می باشد. به عنوان مثال تلاش برای تقسیم با صفر.

      اکسپشن ها (Exception) راهی برای انتقال کنترل از یک قسمت از برنامه به بخش دیگر را فراهم می کند. مدیریت اکسپشن VB.Net بر روی چهار کلمه کلیدی دلالت دارد:  Try, Catch, Finally و Throw.

      Try – یک بلوک Try یک بلوک کد را که اکسپشن های خاص برای آن ها فعال می شود ، مشخص می کند. Try توسط یک یا چند بلوک Catch دنبال می شود.

      Catch – یک برنامه اکسپشن را با یک کنترل کننده خطا (exception handler) در مکانی در برنامه ای که می خواهید مشکل را حل کنید ، به دست می آورد. کلمه کلیدی Catch نشانگر catching یک اکسپشن می باشد.

      Finally – از بلوک Finally برای اجرای مجموعه ای از عبارات استفاده می شود ، چه اکسپشن پرتاب شود یا پرتاب نشود. به عنوان مثال ، اگر فایلی را باز کنید ، باید بسته شود چه یک اکسپشن مطرح شده است یا نه.

      Throw – وقتی یک مشکل ظاهر می شود ، برنامه خطا یا استثنائی را شکل می دهد. این کار با استفاده از کلمه کلیدی Throw انجام می شود.

      در ادامه ی مبحث مدیریت خطا (Exception) در VB.NET ، سینتکس مربوطه را خواهیم داشت.

      سینتکس استفاده از Try / Catch

      با فرض این که بلوک یک اکسپشن ایجاد کند ، یک روش یا متد با استفاده از ترکیبی از کلمات کلیدی Try و Catch یک اکسپشن را می گیرد. بلوک Try / Catch در اطراف کدی قرار دارد که ممکن است یک خطا ایجاد کند. کد درون بلوک Try / Catch به عنوان کد محافظت شده شناخته می شود ، و سینتکس استفاده از Try / Catch به شکل زیر می باشد.

      مثال : 

      شما می توانید عبارت چند گانه ی catch را برای گرفتن انواع مختلف catch از اکسپشن در مورد بلوک try تان لیست کنید که بیش از یک اکسپشن را در موقعیت های مختلف ایجاد می کند.

      کلاس ها یا گروه های اکسپشن در فریم ورک Net.

      در فریم ورک دات نت (Net.) ، اکسپشن ها توسط کلاس ها نشان داده می شوند. گرو ه ها و کلاس های اکسپشن در Net Framework. عمدتا به طور مستقیم یا غیر مستقیم از کلاس System.Exception گرفته می شوند. برخی از کلاس های اکسپشن که از کلاس System.Exception استخراج شده ، کلاس های System.ApplicationException و System.SystemException می باشند.

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

      کلاس System.SystemException کلاس پایه برای همه خطاهای از پیش تعریف شده ی سیستم می باشد.

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

      کلاس خطاشرح
      System.IO.IOExceptionخطاهای I / O (ورودی و خروجی) را کنترل می کند.
      System.IndexOutOfRangeExceptionخطاهای ایجاد شده، هنگامی که یک روش به یک ایندکس آرایه خارج از محدوده اشاره می کند را، مدیریت می کند.
      System.ArrayTypeMismatchExceptionخطاهایی را مدیریت می کند که نوع با نوع آرایه ناسازگار است.
      System.NullReferenceExceptionخطاهای ایجاد شده از نا هماهنگی یک شیء پوچ (null) را کنترل می کند.
      System.DivideByZeroExceptionخطاهای ایجاد شده از تقسیم مقسوم به صفر را کنترل می کند.
      System.InvalidCastExceptionخطاهای ایجاد شده در حین typecasting را کنترل می کند.
      System.OutOfMemoryExceptionخطاهای ایجاد شده به علت کمبود حافظه ی خالی را کنترل می کند.
      System.StackOverflowExceptionخطاهای ایجاد شده از سرریز پشته (stack overflow) را کنترل می کند.

      با آموزش VB.NET و مدیریت اکسپشن ها همراه خواهیم بود.

      مدیریت اکسپشن ها

      VB.Net یک راه حل ساختاری برای رسیدگی به مشکلات اکسپشن را در قالب بلوک های try و catch فراهم می کند. با استفاده از این بلوک ها ، عبارت های هسته برنامه از عبارات error-handling جدا می شوند.

      این بلوک های مدیریت خطا یا مدیریت اکسپشن ها را با استفاده از کلمات کلیدی Try، Catch و finally  پیاده سازی می شوند. در زیر نمونه ای از پرتاب اکسپشن ، هنگام تقسیم بر شرایط صفر آمده است.

      مثال : 

      هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه ی زیر را ایجاد می کند.

      مثال : 

      مبحث مدیریت اکسپشن ها را با ایجاد اکسپشن های تعریف شده توسط کاربر ادامه می دهیم.

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

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

      مثال : 

      هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه ی زیر را ایجاد می کند.

      مثال : 

      مدیریت خطا (Exception) در VB.NET را با بررسی پرتاب اشیاء (Throwing objects) ادامه می دهیم.

      پرتاب اشیاء (Throwing objects)

      اگر آبجکت یا شیئی مستقیم یا غیر مستقیم از کلاس System.Exception مشتق شده باشد می توانید یک شی را پرتاب (throw) کنید.

      برای پرتاب شیء (Throwing objects) موجود می توانید از عبارت throw در بلاک catch استفاده کنید.

      مثال : 

      برنامه ی زیر این موضوع را نشان می دهد.

      مثال : 

      هنگامی که کد بالا کامپایل و اجرا می شود، نتیجه ی زیر را ایجاد می کند.

      مثال : 

      مدیریت اکسپشن ها در این بخش به پایان می رسانیم.

      کلام پایانی

      در این بخش از آموزش VB.NET با مدیریت خطا (Exception) در VB.NET در خدمتتون بودیم و مباحثی چون ایجاد اکسپشن های تعریف شده توسط کاربر ، Throwing objects و کلاس های اکسپشن در فریم ورک Net. را نیز توضیح دادیم. در ادامه ی آموزش ویژوال بیسیک دات نت به بررسی در File Handling یا مدیریت فایل می پردازیم. با جلسات آموزشی وب سایت آموزشی پی وی لرن همراه باشید.

      QR:  جلسه ۲۱ : مدیریت خطا (Exception) در VB.NET
      به اشتراک بگذارید