PDA

View Full Version : سوال: قرق این 2 تا کد در مدیریت خطا



pars1376
سه شنبه 03 تیر 1393, 11:21 صبح
فرق این 2تا کد چیه؟
کد دوم هم همونه ولی توضیحات قسمتی از کد اصلی میشن

یعنی کلا checked اینجا چیکار میکنه؟
که وقتی هست پیغام تعیین شده نمایش داده میشه ولی وقتی نیست متغیر منفی میشه
انگار از اون ورش بیرون میزنه!

کار checked چیه؟
(System.OverflowException) باشه یا نباشه فرقی میکنه؟





int ans = System.Int32.MaxValue;
textBox1.Text = ans.ToString();

// checked
// {
try
{
ans++;
textBox2.Text = ans.ToString();
}
catch //(System.OverflowException)
{
MessageBox.Show("OverFlow!");
// }

Pedram_Parsian
سه شنبه 03 تیر 1393, 11:51 صبح
دستور checked :
این دستور بلوکی ایجاد می کنه که تمام عملیات ریاضی بر روب عدد صحیح را بررسی می کنه. اگر در این بلوک استثنایی رخ بده، یک OwerFlowException ایجاد می کنه.
نکته : در این دستورات، فقط عملیات ریاضی روی اعداد صحیح بررسی میشه.
مثال :

int n = system.Int32.maxValue;
checked
{
int n1 = n++;
messagebox.show("Error");
}


تشکر یادت نره !

pars1376
سه شنبه 03 تیر 1393, 12:17 عصر
دستور checked :
این دستور بلوکی ایجاد می کنه که تمام عملیات ریاضی بر روب عدد صحیح را بررسی می کنه. اگر در این بلوک استثنایی رخ بده، یک OwerFlowException ایجاد می کنه.
نکته : در این دستورات، فقط عملیات ریاضی روی اعداد صحیح بررسی میشه.
مثال :

int n = system.Int32.maxValue;
checked
{
int n1 = n++;
messagebox.show("Error");
}


تشکر یادت نره !

تشکر یادم نمیره. متشکرم :لبخند:

خب اگه این (System.OverflowException) نباشه هیچ فرقی نمیکنه؟
اعداد صحیح منظورتون همون اعداد مثبت صحیح هست دیگه؟درسته؟

Pedram_Parsian
سه شنبه 03 تیر 1393, 12:27 عصر
تشکر یادم نمیره. متشکرم :لبخند:

خب اگه این (System.OverflowException) نباشه هیچ فرقی نمیکنه؟
اعداد صحیح منظورتون همون اعداد مثبت صحیح هست دیگه؟درسته؟

مرسی :چشمک:

نه (البته به نظر من، چون امتحان کردم)
بله دیگه (اعداد صحیح ! دیگه)