تیر ۶, ۱۳۹۸ Mostafa بدون دیدگاه

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

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

یک برنامه ممکن است در زمان اجرا با خطا مواجه شود. وقتی خطایی رخ میدهد برنامه یک Exception را ایجاد می کند که شامل اطلاعات ضروری در مورد خطایی است که رخ داده است. در دات نت دو نوع Exception وجود دارد :

  • Exceptionهایی که توسط برنامه اجرایی تولید می‌شود.
  • Exceptionهایی که توسط CLR تولید می‌شوند.

سی شارپ برای هر Exception احتمالی دارای کلاس‌های درونی است همه کلاس های مربوط به خطا از کلاس Exception مشتق شده‌اند.

دو نوع کلاس اصلی برای استثناها(exception) وجود دارد : SystemException و ApplicationException.

کلاس SystemException به عنوان کلاس پایه برای Exceptionهایی است که توسط CLR تولید می‌شود و ApplicationException به عنوان کلاس پایه برای استثناهای مرتبط با برنامه اجرایی استفاده می‌شود. ساختار درختی کلاس های exception در سی شارپ  به شکل زیر است :

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

شکل زیر نشان می دهد که چطور یک استثنا در حالت دیباگ ویژوال استادیو رخ داده است. علت این رخداد دسترسی به یک پروپرتی از شی ایی بوده است که دارای مقدار null است :

بعضی از  کلاس های Exception مهم در زیر لیست شده است :

  • ArgumentException
  • ArgumentNullException
  • ArgumentOutOfRangeException
  • DivideByZeroException
  • FileNotFoundException
  • FormatException
  • IndexOutOfRangeException
  • NullReferenceException
  • OverflowException
  • StackOverflowException

هر کلاس استثنا در دات نت از کلاس پایه Exception ارث بری می کند که شامل مشخصه های مهمی بوده که با استفاده از آنها می توان اطلاعات مفیدی در مورد رخداد استثنا به دست آورد. بعضی از آن مشخصه ها عبارت اند از :

  • Message : فراهم آوردن اطلاعاتی در مورد دلیل رخداد استثنا.
  • StackTrace : فراهم آوردن اطلاعاتی در مورد مکانی که استثنا رخ داده است.
  • InnerException : فراهم آوردن اطلاعاتی در مورد مجموعه ای از استثناها که ممکن است رخ داده باشند.

 

 

 


برچسب ها
نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.