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

نام تاپیک: ٍطزثحفهخد:An unhandled exception of type 'System.StackOverflowException' occurred in System.Data.dll

  1. #1

    Tick ٍطزثحفهخد:An unhandled exception of type 'System.StackOverflowException' occurred in System.Data.dll

    سلام.
    من یه کلاسی دارم که تقریبا تو همه فرمها و کلاسهای دیگه از اون استفاده کردم.
    به تازگی وقتی میخوام یکی از فرمهامواجرا کنم تو یکی از خطهای اون کلاس که دیتاتیبل رو new کردم Exception زیر رخ میده:
    An unhandled exception of type 'System.StackOverflowException' occurred in System.Data.dll

    مشکل کجاست؟ ممنون میشم سریعتر راهنماییم کنید.
    متشکرم.

  2. #2
    نقل قول نوشته شده توسط resident مشاهده تاپیک
    سلام.
    من یه کلاسی دارم که تقریبا تو همه فرمها و کلاسهای دیگه از اون استفاده کردم.
    به تازگی وقتی میخوام یکی از فرمهامواجرا کنم تو یکی از خطهای اون کلاس که دیتاتیبل رو new کردم Exception زیر رخ میده:
    An unhandled exception of type 'System.StackOverflowException' occurred in System.Data.dll

    مشکل کجاست؟ ممنون میشم سریعتر راهنماییم کنید.
    متشکرم.
    به اختمال زیاد در ساخت آبجکت ها، درون کلاس های مختلف ، یک حلقه بی نهایت تشکیل میشه
    در واقع تولید آبجکت ها به صورت چرخشی

    به عنوان مثال فرض کنید 2 تا کلاس دارین به صورت زیر



    class Class1
    {
    public Class1()
    {
    new Class2();
    }
    }







    class Class2
    {
    public Class2()
    {
    new Class1();
    }
    }




    حالا به محضی که کد زیر را در جایی داشته باشین


    new Class1();


    همون مشکلی که گفتین پیش خواهد آمد

    موفق باشید

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  3. #3
    برای درک بهتر به عکس زیر توجه کن








    فکر نکنم نیاز به گفتن باشه که اگر کلاس main نمونه ای از class2 به جای class1 هم بسازه باز همین داستان اتفاق میفته

    پ و
    نقاشیم حرف نداره ها!!
    !

    موفق باشید
    آخرین ویرایش به وسیله Mahdi.Kiani : دوشنبه 06 اسفند 1386 در 23:17 عصر دلیل: امان از این غلط های املایی

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

    موفق و پیروز باشید.
    مهدی کیانی


  4. #4
    مشکلم این بود که به اشتباه داخل یکی از کلاسهام ، یک نمونه از خود اون کلاس ایجاد کرده بودم. و با حذف اون مشکلم حل شد.

  5. #5

    نقل قول: ٍطزثحفهخد:An unhandled exception of type 'System.StackOverflowException' occurred in System

    با سلام
    من هم همین مشکل رو دارم
    نمیدونم اشکالم از کجاست
    ممنون میشم کمکم کنید

    public int integerpower(int num1, int num2)
    {

    if (num1 == 0)
    return 1;
    else
    {
    return integerpower(num1, num2 - 1) * num1;
    }

    }


    private void button1_Click(object sender, EventArgs e)
    {
    label1.Text = "";
    int Base = Convert.ToInt32(textBox1.Text);
    int exponent = Convert.ToInt32(textBox2.Text);
    int javab = integerpower(Base, exponent);
    label1.Text = Convert.ToString(javab);

    }

  6. #6
    VIP آواتار gwbasic
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    سن
    42
    پست
    982

    نقل قول: ٍطزثحفهخد:An unhandled exception of type 'System.StackOverflowException' occurred in System

    نقل قول نوشته شده توسط moongairl مشاهده تاپیک
    با سلام
    من هم همین مشکل رو دارم
    نمیدونم اشکالم از کجاست
    ممنون میشم کمکم کنید

    public int integerpower(int num1, int num2)
    {

    if (num1 == 0)
    return 1;
    else
    {
    return integerpower(num1, num2 - 1) * num1;
    }

    }


    private void button1_Click(object sender, EventArgs e)
    {
    label1.Text = "";
    int Base = Convert.ToInt32(textBox1.Text);
    int exponent = Convert.ToInt32(textBox2.Text);
    int javab = integerpower(Base, exponent);
    label1.Text = Convert.ToString(javab);

    }
    ممنون از اینکه اول جستجو کردید بعد سوال خودتون رو مطرح کردین!
    این خطا نشون دهنده یک حلقه بی پایان هست در کد بنابراین اگر دقت کنید متد recursive‌ ای که نوشتید هیچگاه شرط خاتمه ای که در ابتدا چک می کنید اجرا نخواهد شد! در داخل متد integerpower شما مقدار num1 رو چک میکنید که اگر مساوی 0 بوذد تمام و در غیر این صورت دوباره با همان مقدار num1 اون رو صدا می زنید بنابراین هیچ وقت این مقدار صفر نخواهد شد و درنتیجه این متد پایانی ندارند
    اینطور که از نام متد مشخصه محاسبه توان هست بنابراین جای num1 در شرط از num2‌استفاده کنید چون توان درحال کم شدن هست

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

  1. خطا : An unhandled exception of type 'System.Data.OleDb.OleD
    نوشته شده توسط tazekar در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 26 شهریور 1390, 21:06 عصر
  2. پاسخ: 5
    آخرین پست: جمعه 21 تیر 1387, 22:55 عصر
  3. 'exception of type 'System.StackOverflowException
    نوشته شده توسط federrer در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: جمعه 17 اسفند 1386, 17:39 عصر
  4. type namespace ado does not exist in in the class system.Data.ADO
    نوشته شده توسط ibasoft در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 24 بهمن 1386, 06:07 صبح
  5. Exception of type System.StackOverflowException was thrown.
    نوشته شده توسط nazaninam در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 05 اسفند 1384, 07:52 صبح

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

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