تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: نحوه فرار از formatexception و overflow ؟ c#

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    May 2012
    پست ها
    126

    پيش فرض نحوه فرار از formatexception و overflow ؟ c#

    از عنوان معلومه دیگه چیکار کنم که اگه کاربر توی Console.Readline(); که کانورت میشه به int مثلا یه مقدارstring وارد کنه برنامه به جای کرش کردن و formatexception دادن همونجا به کاربر اعلام کنه و دوباره ورودی بگیره. دومی هم اینکه تو محیط کنسول اگه کاربر عددی رو وارد کرد که بشه یه max برای تعداد ارقام تعیین کردتابیشتر از مقدار مجاز متغیر نشه و کرش نکنه
    مثلا اینجا مقدار زیادی توی decimal بیاد اجازه نده بقیه کر بره تا overflow شه

      محتوای مخفی: کد 
    ushort count = 1;

    decimal[] Numbers = new decimal[15];

    Console.WriteLine("Enter 15 numbers to spcefiy if they are even or odd \n \n ");



    for (ushort Count = 0; Count < 15; Count++ ,count = Count)
    {
    Numbers[Count] = Convert.ToDecimal(Console.ReadLine());

    if (Numbers[Count] % 2 == 0)
    {
    Console.WriteLine("Even \n \n");
    }
    else
    {
    Console.WriteLine("Odd \n \n");
    }

    }

    Console.WriteLine("\n ++++++++++++++++++++++++++++++++++++++++++++++ \n {0} Numbers specified . Good luck!", count);

    Console.ReadLine();
      محتوای مخفی: کد 


    خیلی مبتدین

  2. #2
    آخر فروم باز iceweek's Avatar
    تاريخ عضويت
    Dec 2008
    محل سكونت
    esfahan
    پست ها
    2,021

    پيش فرض

    زیاد متوجه سوال دوم نشدم.
    اما کلا رشته را که میخوای کانورت به عدد کنی توی try بنویس.و توی catch خطای مورد نظرتو به کاربر نشون بده

  3. #3
    داره خودمونی میشه
    تاريخ عضويت
    May 2012
    پست ها
    126

    پيش فرض

    زیاد متوجه سوال دوم نشدم.
    اما کلا رشته را که میخوای کانورت به عدد کنی توی try بنویس.و توی catch خطای مورد نظرتو به کاربر نشون بده
    سلام میتونید کدشو بنویسین؟ منظورم اینه که وقتی یک ورودی integer میخواد برنامه یک string وارد میکنم کرش میکنه.

    یا مثلا توی یه consoleapplication که توان محاسبه میکنه کاربر یه عدد خیلی بزرگ وارد کنه overflow پیش نیاد

  4. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    برای تبدیل امن و بدون خطا متن به عدد میتوانید از توابع int.TryParse یا long.TryParse یا double.TryParse و... استفاده کنید.
    این توابع اگر نتوانند ورودی را تبدیل کنند مقدار false پس خواهند داد و معرف رشته متنی نامعتبر است.

    در خصوص max هم اگر منظورتان داشتن یک حداقل و حداکثر برای ورودی است که میتوانید با if بررسی کنید.
    و اگر منورتان سرریز در زمان جمع و... است باید بگذارید جمع انجام شود و سپس خطا را با Try-Catch مدیریت کنید...
    نمونه کد پیشنهادی:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •