PDA

View Full Version : throw در سی شارپ مال چیه



amin_sltny
چهارشنبه 21 فروردین 1392, 23:32 عصر
بچه های دو تا سوال داشتم
یکی همین که throw چیه و یه منبع خیلی خوب برای شی گرایی می خواستم؟

مرسی

وب من (http://kanonportal.ir)

ali ghaemi
پنج شنبه 22 فروردین 1392, 00:07 صبح
باعث Raise شدن یک خطا (Exception Error ) می شود در زیر یک خطا از نوع ArgumentOutOfRangeException رو برای ما Raise کرده که قسمت Message اون عبارت Age Cannot Be Negative است



using System;

public class ThrowTest
{
public static void fn(Int32 age)
{
if (age < 0)
{
// throw an argument out of range exception if the age is
// less than zero.
throw new ArgumentOutOfRangeException("Age Cannot Be Negative ");
}
}

public static void Main()
{
try
{
fn(-10);
}

catch (Exception e)
{
Console.WriteLine(String.Concat(e.StackTrace, e.Message));
Console.ReadLine();
}
}
}



اطلاعات بیشتر اینجا (http://www.dotnetperls.com/throw)

amin_sltny
پنج شنبه 22 فروردین 1392, 07:14 صبح
باعث Raise شدن یک خطا (Exception Error ) می شود در زیر یک خطا از نوع ArgumentOutOfRangeException رو برای ما Raise کرده که قسمت Message اون عبارت Age Cannot Be Negative است



using System;

public class ThrowTest
{
public static void fn(Int32 age)
{
if (age < 0)
{
// throw an argument out of range exception if the age is
// less than zero.
throw new ArgumentOutOfRangeException("Age Cannot Be Negative ");
}
}

public static void Main()
{
try
{
fn(-10);
}

catch (Exception e)
{
Console.WriteLine(String.Concat(e.StackTrace, e.Message));
Console.ReadLine();
}
}
}



اطلاعات بیشتر اینجا (http://www.dotnetperls.com/throw)

raise شدن یعنی چه و میشه در مورد انواع خطا توضیح بیشتری بدید!

saeed zarei
پنج شنبه 22 فروردین 1392, 07:43 صبح
یعنی اینکه خودت خطلا رو تشخیص میدی و اونو به Exception مربوطه پاس میدی . به زبان ساده تر خودت یه مدل خطا رو در مکانی مشخص از برنامه که کد رو نوشتی تولید میکنی . مثل کد بالا . چون شما میدونی که سن شخص نمیتونه کمتر از صفر باشه یه خطا تولید کردی . حالا بعضی وقتها خطاهایی که ما میخوایم تولید کنیم از قبل وجود داره .بازم مثل مثال بالا ArgumentOutOfRangeException . این یعنی اینکه ارگومان ورودی خارج از از محدوده تعیین شده است .