تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس الخامس والعشرون - الأخطاء واقتناصها
#3
catching exceptions :

الآن جاء دور اقتناص الأخطاء ، ابسط طريقة هي باستخدام Try بحيث يخرج البرنامج من البلوك في حالة وجود الخطأ دون ان يتسبب في توقف البرنامج ، بالشكل التالي مثلاً :

C#:


كود :
try
{
x+=100;
console.writeLine("no errror");
}
catch
{
console.writeLine("some error!");
}
VB.net:

Try

كود :
x += 100
console.writeLine("no errror")
Catch
console.writeLine("some error!")
End Try
في حالة وجود خطأ في عملية الجمع السابقة فسيتم مباشرة الانتقال إلى catch ، فيما عدا ذلك سيواصل البرنامج دون المرور عليها ، وفي كل الاحيان لن يتم ايقاف البرنامج .

يمكننا ايضاً عرض تفاصيل عن الخطأ الذي حدث باستخدام الخصائص السابقة :

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);
}
vb.net:


كود :
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 Try
لو كنا نعرف بعض الأخطاء التي يمكن ان تحدث ، فيمكننا اختبارها وعرض الرسالة فيما عدا ذلك ، لنفترض المثال التالي في حالة كوننا نعرف أن الخطأ يمكن ان يكون بسبب overflow ، وفيما عدا ذلك سنظهر رسالة بخطأ عام :

C#:

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);
}
vb.net:


كود :
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
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس الخامس والعشرون - الأخطاء واقتناصها - بواسطة Raggi Tech - 14-10-12, 03:46 PM


التنقل السريع :


يقوم بقرائة الموضوع: