مثالی از کنترل خطاها در سی شارپ
مثالی از کنترل خطاها در سی شارپ
در این مقاله میخواهیم Error Handeling را توضیح کوتاهی بدهیم و امیدواریم به برنامه نویسیتون کمک کند.
در زمان برنامه نویسی دونوع خطا داریم
خطاهای در زمان کامپایل:
این نوع خطاها بیشتر به دلیل اشتباهات دستوری و Syntax اتفاق می افتد که خطاهای زمان کامپایل نامیده می شود. این نوع خطاها جدی گرقته نمی شود به این خاطر که تاثیری در برنامه های شما ندارد. و براحتی حل می شوند
خطاهای در زمان اجرا:
دلایل زیادی در رخ دادن این نوع خطاها وجود دارد پیاده سازی اشتباه به صورت منطقی ، داده های غیر منتظره و نبود منابع لازم و … این نوع خطاها باید جدی گرفته شوند چون به طور مستقیم در برنامه تاثیر دارند و موجب بستن برنامه می شود.
در زیر مثالی از کنترل آسانتر این وع خطاها را میاوریم
#region Exception Handler
/*
public void Sum()
{
/// Throw DivideByZeroException In Example
try
{
int a = 10, b = 0;
a /= b;
}
catch (Exception ex)
{
string ErrorText = Exception_Handle(ex);
MessageBox.Show(ErrorText);
}
}
*/
/// <summary> تابع کنترل خطا </summary>
/// <param name="SEM"> Throw Exception </param>
public static string Exception_Handle(Exception SEM)
{
if (SEM is FormatException)
return "فرمت مقدار ورودی اشتباه است";
else if (SEM is OverflowException)
return "مقدار وارد شده خارج از محدوده ذخیره سازی میباشد";
else if (SEM is DivideByZeroException)
return "تقسیم بر صفر امکان پذیر نیست";
else if (SEM is ArithmeticException)
return "خطایی در محاسبات اجرایی رخ داده است";
else if (SEM is StackOverflowException)
return "مقدار حافظه موجود برای ادامه برنامه کافی نیست";
else if (SEM is OutOfMemoryException)
return "فضای حافظه کم است";
else if (SEM is TimeoutException)
return "عملیات انجام شده قادر به اتمام نیست";
else if (SEM is InvalidOperationException)
return "مقادیر وارد شده صحیح نیست";
else if (SEM is NullReferenceException)
return "اشکالی در داده ی بازگشت داده شده رخ داده";
else if (SEM is IndexOutOfRangeException)
return "خانه اشاره شده موجود نیست";
else
return "استثنایی رخ داده است" + "\n" + SEM.Message.ToString();
}
#endregion
منبع : CRM - نویسنده: احسان ملکی
دیدگاه ها (0)