نمایش نتایج 1 تا 7 از 7

نام تاپیک: انجام تابع خاصی هنگام ایجاد یک Exception

  1. #1
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    انجام تابع خاصی هنگام ایجاد یک Exception

    سلام
    من تقریباً 500 تا try catch دارم که می خوام هنگامی که catch اجرا میشه یا در اصل یک Exception اتفاق می افته یک تابعی در جای دیگه اجرا بشه.
    نمی خوام اون تابع رو داخل catch بنویسم چون اونوقت باید این کار رو 500 بار انجام بدم که خیلی طولانی میشه.
    چطور می تونم این کار رو انجام بدم؟
    با تشکر

  2. #2
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    یه کلاس برای مدیریت خطاهات بساز و در catch ها به کلاس ارجاع بده.ودر داخل کلاس exption ها رو مدیریت کن و پیغام یا انجام عملی خاص رو به راحتی قابل پیاده سازی ست.
    یه نمونه از کلاس شخصی سازی exception

    [Serializable]
    public class CustomException : Exception
    {
    public CustomException()
    : base() { }


    public CustomException(string message)
    : base(message) { }


    public CustomException(string format, params object[] args)
    : base(string.Format(format, args)) { }


    public CustomException(string message, Exception innerException)
    : base(message, innerException) { }


    public CustomException(string format, Exception innerException, params object[] args)
    : base(string.Format(format, args), innerException) { }


    protected CustomException(SerializationInfo info, StreamingContext context)
    : base(info, context) { }
    }

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    یه کلاس برای مدیریت خطاهات بساز و در catch ها به کلاس ارجاع بده.ودر داخل کلاس exption ها رو مدیریت کن و پیغام یا انجام عملی خاص رو به راحتی قابل پیاده سازی ست.
    یه نمونه از کلاس شخصی سازی exception

    [Serializable]
    public class CustomException : Exception
    {
    public CustomException()
    : base() { }


    public CustomException(string message)
    : base(message) { }


    public CustomException(string format, params object[] args)
    : base(string.Format(format, args)) { }


    public CustomException(string message, Exception innerException)
    : base(message, innerException) { }


    public CustomException(string format, Exception innerException, params object[] args)
    : base(string.Format(format, args), innerException) { }


    protected CustomException(SerializationInfo info, StreamingContext context)
    : base(info, context) { }
    }

    با سلام

    دوست عزیز

    در صورت امکان لطفا یک تاپیک ایجاد و نحوه سفارشی سازی یک اکسپشن را توضیح دهید.

    فکر می کنم یک آموزش جالب و مفیدی باشد.

    با تشکر

  4. #4
    کاربر دائمی آواتار forodo
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    شهر جدید پردیس
    پست
    1,468

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    یه کلاس برای مدیریت خطاهات بساز و در catch ها به کلاس ارجاع بده.ودر داخل کلاس exption ها رو مدیریت کن و پیغام یا انجام عملی خاص رو به راحتی قابل پیاده سازی ست.
    یه نمونه از کلاس شخصی سازی exception

    [Serializable]
    public class CustomException : Exception
    {
    public CustomException()
    : base() { }


    public CustomException(string message)
    : base(message) { }


    public CustomException(string format, params object[] args)
    : base(string.Format(format, args)) { }


    public CustomException(string message, Exception innerException)
    : base(message, innerException) { }


    public CustomException(string format, Exception innerException, params object[] args)
    : base(string.Format(format, args), innerException) { }


    protected CustomException(SerializationInfo info, StreamingContext context)
    : base(info, context) { }
    }
    یعنی توی تمام catchهای برنامه باید کلاس رو فراخوانی کنم؟
    اگه اینطوریه نمی خوام این کار رو انجام بدم.
    تعداد catchها خیلی زیاده.

  5. #5
    مدیر بخش آواتار محمد رضا فاتحی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    کهنسالترین موجود زنده در شهر منه
    پست
    1,181

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    شما بالاخره باید یه زحمتی بکشید..اگه try-catch ها نوشته نشدن و مدیریت خاصی هم قرار نیست روی اونها اتفاق بیوفته و صرفا جهت جلوگیری از کرش برنامس و نمایش خطا...می تونید این کار رو انجام بدید...
    توی کلاس program.cs این کد ها رو اضافه کنید

    static void Main()
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(fals e);
    Application.Run(new Form1());
    Application.ThreadException+=Application_ThreadExc eption;
    }


    private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
    {
    //مدیریت خطا
    }


    با این کار هر جای برنامه هر خطای مدیریت نشده ای بده... می تونید مدیریت کنید...

  6. #6

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    اگر catch می خوای فقط در حد خطای که اتفاق اقتاده رو به کار بر بگه... شاید این بدر بخوره
      private void button2_Click(object sender, EventArgs e)
    {
    try
    {

    int y = 10 / int.Parse(textBox1.Text);
    }
    catch (Exception ex)
    {
    ExCeptionMessage(ex);

    }
    }
    public void ExCeptionMessage(Exception ex)
    {
    MessageBox.Show(ex.ToString());

    }
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 11 مرداد 1394 در 13:49 عصر

  7. #7
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: انجام تابع خاصی هنگام ایجاد یک Exception

    به نظر من تعداد try,catch هات خیلی زیادیه.از اول میبایست دنبال راه حل های بهتر برای پیاده سازی exception ها میگشتی و راه حل مناسب رو پیاده سازی میکردی.اگر امکانش هست بفرمایید در چه قسمت هایی از کد try.catch استفاده کردی که تعدادش به 500تا رسیده ؟
    به نظر من راه حل دوست گرامی
    rezafatehy مناسب کار شما میباشد

تاپیک های مشابه

  1. مشکل SQL Exception هنگام ایجاد اتصال به پایگاه داده روی یک سرور از روی Packet PC
    نوشته شده توسط hab3045 در بخش برنامه نویسی مبتنی بر Microsoft .Net Framework
    پاسخ: 0
    آخرین پست: سه شنبه 03 خرداد 1390, 12:34 عصر
  2. کمک: خطا هنگام ایجاد یوزر در 2005
    نوشته شده توسط nokhod در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 18 بهمن 1384, 22:19 عصر
  3. بروز خطا در دلفی هنگام ایجاد یک DLL که شامل کامپوننت ADO می باشد
    نوشته شده توسط AmeliSh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 11 بهمن 1384, 11:18 صبح
  4. خطا در هنگام ایجاد رکورد جدید در BDE
    نوشته شده توسط panguane در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: سه شنبه 24 آبان 1384, 07:59 صبح
  5. مشکل هنگام ایجاد برنامه نصب(فوری فوری فوری)
    نوشته شده توسط Hamid-Piri در بخش VB.NET
    پاسخ: 2
    آخرین پست: سه شنبه 20 بهمن 1383, 06:52 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •