مثالی از کنترل خطاها در سی شارپ

مثالی

مثالی از کنترل خطاها در سی شارپ

در این مقاله میخواهیم  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)

دیدگاه خود را بیان کنید