التعامل مع الأخطاء في الفيجوال بيسك دوت نت


يحتوي الفيجوال بيسك علي نوعين من طرق معالجة الأخطاء :

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

البلوك الخاص بجملة FINALLY سوف يتم تنفيذه في حالة تنفيذ بلوك TRY أو تنفيذ البلوك الخاص ب CATCH أي أنه سوف يتم تنفيذه في جميع الحالات .
مثال :
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

جميع الحقوق محفوظة لمدونة الفيجوال بيسك