اینجا میتونی برنامه نویسی ویندوز رو به طور کاملا رایگان یاد بگیری
3 سال پیش / خواندن دقیقه

Exception ها در زبان سی شارپ

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

Exception

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

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

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

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

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

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

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

Exception ها در زبان سی شارپ

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

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

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

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



شاید از نوشته‌های زیر خوشتان بیاید
نظر خود را درباره این پست بنویسید ...

منوی سریع