نوع استثنای سفارشی در سی شارپ
سی شارپ شامل انواع استثناهای داخلی مانند NullReferenceException ، MemoryOverflowException و غیره است. بنابراین، برای این کار، می توانید یک کلاس استثنای سفارشی (custom exception) با ارث بری از کلاس ApplicationException ایجاد کنید.
Net framework. شامل کلاس ApplicationException از نسخه Net v1.0 است که برای استفاده به عنوان یک کلاس پایه برای کلاس استثنای سفارشی طراحی شده است. با این حال، مایکروسافت اکنون کلاس Exception را برای ایجاد یک کلاس استثنای سفارشی توصیه می کند. شما نباید یک استثنای ApplicationException را در کد خود قرار دهید و نباید یک استثنای ApplicationException را بگیرید، مگر اینکه بخواهید استثنای اصلی را re-throw کنید.
به عنوان مثال، کلاس InvalidStudentNameException را در یک برنامه مدرسه ایجاد کنید، که اجازه هیچ کاراکتر خاص یا مقدار عددی را در نام هیچ یک از دانش آموزان نمی دهد.
اکنون، هر زمان که نام شامل کاراکترها یا اعداد خاصی باشد، می توانید InvalidStudentNameException را در برنامه خود استفاده کنید. از کلمه کلیدی throw برای ایجاد یک استثنا استفاده کنید.
خروجی قطعه کد بالا عبارت است از:
بنابراین، می توانید کلاس های استثنای سفارشی ایجاد کنید تا از استثناهای سیستم (system exceptions) متمایز شوند.