14-10-12, 03:46 PM
catching exceptions :
الآن جاء دور اقتناص الأخطاء ، ابسط طريقة هي باستخدام Try بحيث يخرج البرنامج من البلوك في حالة وجود الخطأ دون ان يتسبب في توقف البرنامج ، بالشكل التالي مثلاً :
C#:
VB.net:
Try
في حالة وجود خطأ في عملية الجمع السابقة فسيتم مباشرة الانتقال إلى catch ، فيما عدا ذلك سيواصل البرنامج دون المرور عليها ، وفي كل الاحيان لن يتم ايقاف البرنامج .
يمكننا ايضاً عرض تفاصيل عن الخطأ الذي حدث باستخدام الخصائص السابقة :
c#:
vb.net:
لو كنا نعرف بعض الأخطاء التي يمكن ان تحدث ، فيمكننا اختبارها وعرض الرسالة فيما عدا ذلك ، لنفترض المثال التالي في حالة كوننا نعرف أن الخطأ يمكن ان يكون بسبب overflow ، وفيما عدا ذلك سنظهر رسالة بخطأ عام :
C#:
try
vb.net:
الآن جاء دور اقتناص الأخطاء ، ابسط طريقة هي باستخدام Try بحيث يخرج البرنامج من البلوك في حالة وجود الخطأ دون ان يتسبب في توقف البرنامج ، بالشكل التالي مثلاً :
C#:
كود :
try
{
x+=100;
console.writeLine("no errror");
}
catch
{
console.writeLine("some error!");
}Try
كود :
x += 100
console.writeLine("no errror")
Catch
console.writeLine("some error!")
End Tryيمكننا ايضاً عرض تفاصيل عن الخطأ الذي حدث باستخدام الخصائص السابقة :
c#:
كود :
try
{
x += 100;
console.writeLine("no errror");
}
catch (Exception e)
{
Console.WriteLine("Method: {0}", e.TargetSite);
Console.WriteLine("Message: {0}", e.Message);
Console.WriteLine("Source: {0}", e.Source);
}كود :
Try
x += 100
console.writeLine("no errror")
Catch e As Exception
Console.WriteLine("Method: {0}", e.TargetSite)
Console.WriteLine("Message: {0}", e.Message)
Console.WriteLine("Source: {0}", e.Source)
End TryC#:
try
كود :
{
x += 100;
console.writeLine("no errror");
}
catch (OverflowException e0)
{
Console.WriteLine("value of x more than up bound");
}
catch (Exception e)
{
Console.WriteLine("Method: {0}", e.TargetSite);
Console.WriteLine("Message: {0}", e.Message);
Console.WriteLine("Source: {0}", e.Source);
}كود :
Try
x += 100
console.writeLine("no errror")
Catch e0 As OverflowException
Console.WriteLine("value of x more than up bound")
Catch e As Exception
Console.WriteLine("Method: {0}", e.TargetSite)
Console.WriteLine("Message: {0}", e.Message)
Console.WriteLine("Source: {0}", e.Source)
End Try