PDA

View Full Version : مبتدی: توضیح برای این نوع errorها



amazon2
شنبه 16 فروردین 1399, 18:08 عصر
سلام من تازه کار هستم تو سی شارپ و وقتی برنامه ای مینویسم خیلی از این نوع خطاها میده میشه یه توضیح کوچیک درمورد این نحوه رفع کردن اینجور خطاها و اینکه چرا اینا میان بهم بدین

151538

از فایل Design.cs همش خطا میاد..

the king
شنبه 16 فروردین 1399, 21:39 عصر
سلام من تازه کار هستم تو سی شارپ و وقتی برنامه ای مینویسم خیلی از این نوع خطاها میده میشه یه توضیح کوچیک درمورد این نحوه رفع کردن اینجور خطاها و اینکه چرا اینا میان بهم بدین

151538

از فایل Design.cs همش خطا میاد..

هر جا که throw new دیدید، بدونید محل یک خطایی است که خود کد نویس می خواهد که اتفاق بیافته، یعنی خطای ناخواسته نیست، عمدی است.
throw new با هدفی که کد نویس تعیین می کنه یک Exception بوجود میاره، مثلا قرار بوده در متغیر n سن شخصی رو بپرسید، اگر n یک عدد منفی بود با خطای ArgumentOutOfRangeException اعلام می کنید که n در خارج از محدوده مناسب قرار داره :

if (n < 0)
{
throw new ArgumentOutOfRangeException();
}


در مثال شما فرضا قرار بوده که با کلیک کردن روی فلان کنترل کاری انجام بشه، اما هنوز فرصت نکرده اید که اون بخش از کد رو تکمیل کنید، در اون بخش از کد فعلا یک throw new از نوع NotImplementedException نوشته میشه تا اگر کلیکی صورت گرفت با خطای NotImplementedException تکمیل نشدن اون بخش از کد یادآوری بشه.

NotImplementedException خطای بدی نیست، میگه اون بخش از کد هنوز تکمیل نشده، Implement نشده. اگر اون سطر new throw رو حذف کنید خطا دیگه اتفاق نمی افته، ولی اصولا وفتی قصد تکمیل کد رو داشته باشید بجای اون سطر new throw کد مناسب اون کلیک رو می نویسید، صرفا حذف کردن new throw ئه فقط به این معنا است که نمی خواهم برای رجوع به کد تکمیل نشده پیام خطایی دریافت کنم، اما به هر حال اون بخش از کد تکمیل نشده است، چه با خطا و چه بی خطا.