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

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

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

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تیکت پشتیبانی