مقدمه
سلام خدمت شما عزیزان سایت آموزش برنامه نویسی نونویسان در این مقاله میخواهم مدیریت خطاها در سی شارپ را بهتون یاد بدهم فرض کنید کاربر از روی نا آگاهی اشتباهی میکند این وظیفه برنامه نویس است که یک خطا به کاربر نمایش دهد و کاربر را به جای درست هدایت کند پس تا آخر مقاله همراه من باشید
اگر به تازگی قصد یادگیری سی شارپ را دارید وارد مقاله دیتا تایپ ها در سی شارپ شوید
مدیریت خطا ها در سی شارپ
فرض کنید که میخواهید یک ماشین حساب درست کنید نیاز است که از کاربر دو مقدار دریافت کنید تا عملیات ریاضی را روی آن انجام دهید پس دو متغیر از نوع integer ایجاد میکنید دقیقا مثل کد پایین
public class Program
{
static void Main(string[] args)
{
int Number1 = 0;
int Number2 = 0;
Console.WriteLine("Please Enter Number 1");
Number1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please Enter Number 2");
Number2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Sum Is: " + (Number1 + Number2));
Console.ReadKey();
}
}
دو متغیر به اسم Number1 و Number2 ایجاد کردیم برای اینکه مشکلی هم ایجاد نشود مقدار دادیم و بعد از کاربر دریافت کردیم تا اینکه مقادیر را جمع کردیم حالا اگر کاربر در یکی از این مقادیر عدد وارد نکند و یک نام وارد کند چه رخ میدهد

در این خطا نوشته شده که فرمت وارد شده درست نیست و علت نمایش خطا این است که کاربر فقط باید عدد وارد کند ولی الان یک نام وارد کرده بخاطر اینکه شخصی که دارد از برنامه ما استفاده میکند و ممکن است برنامه نویس نباشد و از خطا چیزی متوجه نمیشد مدیریت خطاها در سی شارپ به کمک ما می آید که توسط دستور try و catch انجام میشود کد بالا را باید کمی تغییر دهیم
public class Program
{
static void Main(string[] args)
{
int Number1 = 0;
int Number2 = 0;
try
{
Console.WriteLine("Please Enter Number 1");
Number1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Please Enter Number 2");
Number2 = Convert.ToInt32(Console.ReadLine());
}
catch (Exception)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Please Enter Just Number");
Console.ResetColor();
}
finally
{
Console.WriteLine("Sum Is: " + (Number1 + Number2));
}
Console.ReadKey();
}
}
کدی که خطا تولید میکرد متغیر ها بودند که به صورت ورودی از کاربر دریافت میشدند پس آنها را در بدنه try قرار میدهیم و حالا اگر دستوراتی که در try هستند خطا تولید کنند catch اجرا میشود در اینجا نوشته ایم که اگر کاربر خطا تولید کرد اول براش متن خطا را قرمز کن و بعد بنویس که لطفا فقط عدد وارد کنید و بعد رنگ قرمز را از بین ببر این بخاطر این است که فقط ارور قرمز شود حالا نوبت بخش سوم یعنی finally میشویم این کد در هر صورت اجرا میشود چه کد خطا بدهد چه خطایی تولید نشود ما در finally نوشتیم که اگر خطا تولید شد یا نشد به هرحال جمع Number1 و Number2 را نمایش بده

کدی که داخل Finaly باشد به هرحال اجرا میشود پس ما مقدار جمع جود عدد را در finaly نمایش میدهیم تصویر بالا را به دقت مشاهده کنید کاربر عدد اول را 12 وارد کرده و در عدد دوم نام خود را نوشته اما بخاطر مدیریت ما با try, catch خطا مدیریت شد و به کاربر نمایش داده شد که لطفا فقط عدد وارد کنید و چون یکی از مقادیر درست پر شد و دیگری خطا داشت 12 را با هیچ عددی جمع نکرد و خودش را نمایش داد.
این بود مدیریت خطاها در سی شارپ اگر سوالی داشتید در بخش کامنت و یا تماس با ما مطرح کنید