آموزش سي شارپ - قسمت بيست و ششم
ايجاد خطاهي خاص - Custom Exception Definition
خيلي اوقات شما مي خواهيد همراه با اعلام خطا اطلاعات ديگري را كه فقط هنگام ايجاد
خطا در اختيارتان هست را هم داشته باشيد و اعلام نمايد. براي اين منظور بايد يك كلاس
جديد ايجاد كرده و آن كلاس را از كلاس Exception به ارث ببريد. سپس اطلاعات اضافه مورد
نياز خود را در آن كلاس به صورت ReadOnly Property تعريف كرده و آن ها را با استفاده
از Constructor كلاستان مقدار دهي نمايد.

! همانطور كه مي بينيد من در زمان ايجاد شدن شيء از اين كلاس مقدار message را به Contrcutor كلاس پدر پاس مي كنم.
در مثال زير يك كلاس به نام Person وجود دارد. تصميم گرفتم كه وقتي مقداري بيش از 100 و يا كمتر از 0 براي سن درنظر گرفته شد يك خطا پرتاب كنم. نكته اي كه وجود دارد اين است كه مي خواهم همزمان اعلام كنم كه چه سني براي چه كسي در نظر گرفته شده است كه خطا توليد شده است.
حالا در كلاس Person روي Property Age وقتي كاربر سني بيش از 100 يا كمتر از 0 را ست كند يك خطا از نوع InvalidAgeException پرتاب خواهم كرد:

در نتيجه وقتي به يك شيء از اين كلاس مقداري نامعتبر براي سن مشخص كنيم كاربر خطا دريافت خواهد كرد. نكته مهم اين است كه شما مي توانين اطلاعات فردي كه خطا بر روي آن اعلام شده و مقداري كه به عنوان سن براي او در نظر گرفته شده بود را هم داشته باشيد و نمايش دهيد.

Download Sample Code
ادامه دارد...

! همانطور كه مي بينيد من در زمان ايجاد شدن شيء از اين كلاس مقدار message را به Contrcutor كلاس پدر پاس مي كنم.
در مثال زير يك كلاس به نام Person وجود دارد. تصميم گرفتم كه وقتي مقداري بيش از 100 و يا كمتر از 0 براي سن درنظر گرفته شد يك خطا پرتاب كنم. نكته اي كه وجود دارد اين است كه مي خواهم همزمان اعلام كنم كه چه سني براي چه كسي در نظر گرفته شده است كه خطا توليد شده است.
حالا در كلاس Person روي Property Age وقتي كاربر سني بيش از 100 يا كمتر از 0 را ست كند يك خطا از نوع InvalidAgeException پرتاب خواهم كرد:

در نتيجه وقتي به يك شيء از اين كلاس مقداري نامعتبر براي سن مشخص كنيم كاربر خطا دريافت خواهد كرد. نكته مهم اين است كه شما مي توانين اطلاعات فردي كه خطا بر روي آن اعلام شده و مقداري كه به عنوان سن براي او در نظر گرفته شده بود را هم داشته باشيد و نمايش دهيد.

Download Sample Code
ادامه دارد...
+ نوشته شده در شنبه بیست و پنجم خرداد ۱۳۸۷ ساعت 16:24 توسط مسعود طباطبايي | MasoudTB
|