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

نام تاپیک: Throw کردن Exception

  1. #1

    Throw کردن Exception

    سلام...
    می شه یه Exception رو بیرون از یک Throw ,Try.....Catch کرد؟
    منظورم اینه که چرا نمی شه این کد رو :

    try
    {
    if (int.Parse(textBox1.Text) == 0)
    {
    throw new System.Exception("Your Number is equals then zero");
    }
    else
    {
    throw new System.Exception("Your Number is bigger then zero");
    }
    }
    catch (System.Exception err)
    {
    MessageBox.Show(err.Message);
    }


    این مدلی نوشت؟

    if (int.Parse(textBox1.Text) < 0)
    {
    throw new System.Exception("Yor Number is Less Then zero");
    }
    //----------------------------
    try
    {
    if (int.Parse(textBox1.Text) == 0)
    {
    throw new System.Exception("Your Number is equals then zero");
    }
    else
    {
    throw new System.Exception("Your Number is bigger then zero");
    }
    }
    catch (System.Exception err)
    {
    MessageBox.Show(err.Message);
    }

    آخرین ویرایش به وسیله mahdi5121 : چهارشنبه 26 آبان 1389 در 20:12 عصر

  2. #2

    نقل قول: Throw کردن Exception

    می شه یه Exception رو بیرون از یک Throw ,Try.....Catch کرد؟
    بله.100٪
    if (int.Parse(textBox1.Text) < 0)
    {
    throw new System.Exception("You Number is
    Less Then zero");
    }
    خب تنها مشکلی که این حالت نسبت به قبلی داره اینه که این exception به دست کاربر برنامه می رسه و توسط کد کنترل نمی شه!
    در این حالت کاربر با یک پنجره این شکلی مواجه می شه

  3. #3

    نقل قول: Throw کردن Exception

    نقل قول نوشته شده توسط 09111111111 مشاهده تاپیک
    بله.100٪
    خب تنها مشکلی که این حالت نسبت به قبلی داره اینه که این exception به دست کاربر برنامه می رسه و توسط کد کنترل نمی شه!
    در این حالت کاربر با یک پنجره این شکلی مواجه می شه

    من می خوام بدست کاربر برنامه نویس نرسه و Catch بشه .راهی نیست .
    در ضمن پیغامی که برای من می یاد اینه :








  4. #4

    نقل قول: Throw کردن Exception

    من می خوام بدست کاربر برنامه نویس نرسه و Catch بشه .راهی نیست ؟.
    خب فلسفه ایجاد بلوک try/catch همینه دیگه.
    ولی حرف اینه که شما می خواید از این بلوک استفاده نکنید ولی همچنان بتونید exception هاتون رو کنترل کنید درسته؟
    در ضمن پیغامی که برای من می یاد اینه :
    بله بنده هم می دونم بنده چیزی که کاربر می بینه رو گذاشتم نه چیزی که شما می بینی!

  5. #5

    نقل قول: Throw کردن Exception

    نقل قول نوشته شده توسط 09111111111 مشاهده تاپیک
    ولی حرف اینه که شما می خواید از این بلوک استفاده نکنید ولی همچنان بتونید exception هاتون رو کنترل کنید درسته؟
    آره،می شه؟

  6. #6

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    .Net Framework
    پست
    84

    نقل قول: Throw کردن Exception

    نقل قول نوشته شده توسط mahdi5121 مشاهده تاپیک
    سلام...
    می شه یه Exception رو بیرون از یک Throw ,Try.....Catch کرد؟
    منظورم اینه که چرا نمی شه این کد رو :





    try
    {


    if (int.Parse(textBox1.Text) == 0)



    {

    throw new System.Exception("Your Number is equals then zero");
    }
    else
    {
    throw new System.Exception("Your Number is bigger then zero");
    }
    }
    catch (System.Exception err)
    {


    MessageBox.Show(err.Message);


    }




    این مدلی نوشت؟







    if (int.Parse(textBox1.Text) < 0)






    {






    throw new System.Exception("Yor Number is Less Then zero");






    }






    //----------------------------






    try






    {






    if (int.Parse(textBox1.Text) == 0)






    {






    throw new System.Exception("Your Number is equals then zero");






    }






    else






    {






    throw new System.Exception("Your Number is bigger then zero");






    }






    }






    catch (System.Exception err)






    {






    MessageBox.Show(err.Message);






    }





    کاملا میشه، فقط مسئله اینجاس که کد دومی که نوشتی 2بار expetion رو throw میکنه ولی یک بار catch میشه و یکیش unhandled میمونه و اون پیغامی که دیدیو نشون میده. ببین کاربرد اینی که تو میخوای (یعنی بیرون از بلاک try...catch بخوای exeption ای رو throw کنی) واسه جایی هست که تو بخوای یه تابع یا متدی بنویسی و تو حالت خاصی بدونی ممکنه با مشکل مواجه شه (مثلا اگه به طور ناخواسته ارتباط با اینترنت قطع شد) اینجوری یه exeption پرتاب میکنی و تو توضیحات تابعی که نوشتی میگی که این تابع ممکنه فلان exeption رو throw کنه تا کاربری که میخواد از تابع تو استفاده کنه بعدا اون رو تو یه بلاک try...catch قرار بده که اگه exeption ات رخ داد اونو handle کنه. درست مثل توابع .net ای که خودتم ازشون اینهمه استفاده می کنی و اونارو تو try...catch قرار میدی. خلاصه هر exeption ای باید آخر یه جا به یه catch برسه و handle شه تا این error که میبینیو نده و برنامه تا آخر پیش بره.

  8. #8

    نقل قول: Throw کردن Exception

    جناب kamranoof :
    مثل اینکه شما اصلا لینکی که دوستمون hoorfar گذاشتن رو مطالعه نکردید.
    جواب این معما توی این لینکه
    Application.ThreadException Event

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

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