يحتوي الفيجوال بيسك علي نوعين من طرق معالجة الأخطاء :
1-معالجة الأخطاء عن طريق التركيب الغير منظم On Error GoTo
2- معالجة الأخطاء عن طريق التركيب المنظم Try...Catch
أولاً معالجة الأخطاء عن طريق On Error GoTo
تستخدم جملة On Error GoTo لتوجيه مسار البرنامج إلى مكان محدد .
وتستخدم جملة On Error Resume Next عند حدوث خطأ أثناء وقت التشغيل فيتخطى البرنامج الجملة التي حدث بها الخطأ ويتابع تنفيذ الجمل التالية في الكود .
مثال :
Public Class Form1
_ ,Private Sub Button1_Click(ByVal sender As System.Object
ByVal e As System.EventArgs) Handles Button1.Click
On Error GoTo nextstep
Dim result As Integer
Dim num As Integer
num = 100
result = num / 0
:nextstep
("MsgBox("dividing by zero not allowed
End Sub
End Class
في المثال السابق هناك خطأ القسمة على صفر واستخدمنا جملة On Error GoTo nextstep لنخبر البرنامج أنه في حالة حدوث خطأ يذهب إلى :nextstep حيث يقوم البرنامج بإظهار رسالة معينة توضح الخطأ
ثانياً معالجة الأخطاء عن طريق Try...Catch
تحتوي جملة Try...Catch على ميزة في معالجة الأخطاء والاستثناءات وهي أن جميع الأخطاء والاستثناءات تشتق من فئة واحدة ويمكنك أن تنشأ استثناءات مخصصة من فئة محددة ويتضح هذا الأمر من خلال تركيب جملة Try...Catch حيث أن تركيبها يكون كالتالي :
Try
code
exit from Try
[Catch [Exception [As Type
code - if the exception occurred this code will execute
exit Catch
Finally
code - this code should execute , if exception occurred
or no
End try
مثال :Try Dim i As Integer Dim resultValue As Integer i = 100 resultValue = i / 0 (MsgBox("The result is " & resultValue Catch ex As Exception ("MsgBox("Exception catch here Finally ("MsgBox("Finally block executed End Try

No comments :
Post a Comment