كيفية القيام بما يلي: استثناءات السجل في Visual Basic

يمكنك استخدام كائنات My.Application.Log و My.Log لتسجيل معلومات حول الاستثناءات التي تحدث في التطبيق الخاص بك. تظهر هذه الأمثلة كيفية استخدام أسلوب My.Application.Log.WriteException لاستثناءات السجل التي تمسكها بوضوح و الاستثناءات الغير معالجة .

للحصول على معلومات تسجيل للتتبع ، استخدم أسلوب My.Application.Log.WriteEntry . لمزيد من المعلومات، انظر WriteEntry.

لتسجيل الاستثناء المعالج

  1. قم بإنشاء الأسلوب الذي سيقوم بإنشاء معلومات الاستثناء .

    Public Sub ExceptionLogTest(ByVal fileName As String)
    End Sub
    
  2. استخدم كتلة Try...Catch لتصفية‏‏ الاستثناء .

    Try
    Catch ex As Exception
    End Try
    
  3. وضع التعليمات البرمجية التي قد تنشئ ‏‏الاستثناء في كتلة Try .

    حرر خطوط Dim و MsgBox لإنشاء استثناء NullReferenceException ‏‏.

    ' Code that might generate an exception goes here.
    ' For example:
    '    Dim x As Object
    '    MsgBox(x.ToString)
    
  4. في كتلة Catch , استخدم أسلوب My.Application.Log.WriteException لكتابة معلومات ‏الاستثناء .

    My.Application.Log.WriteException(ex, 
        TraceEventType.Error, 
        "Exception in ExceptionLogTest " & 
        "with argument " & fileName & ".")
    

لتسجيل‏ الاستثناء غير المعالج

  1. اختر المشروع المحدد في مستكشف الحلول. من قائمة مشروع ، اختر خصائص.

  2. انقر فوق علامة التبويب التطبيق.

  3. انقر فوق زر عرض أحداث التطبيق لفتح محرر التعليمات البرمجية .

    و هذا يفتح ملف ApplicationEvents.vb .

  4. قم بتضمين ملف ApplicationEvents.vb بفتحه في محرر التعليمات البرمجية. من قائمة عام, اختر أحداث MyApplication.

  5. من قائمة التعريفات، اخترUnhandledException.

    التطبيق يرفع حدث UnhandledException قبل تشغيل التطبيق الرئيسي.

  6. أضف أسلوب My.Application.Log.WriteException إلى معالج الحدث UnhandledException .

    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
    

مثال

يوضح هذا المثال التعليمات البرمجية الكاملة لتسجيل الاستثناء المعالج .

Public Sub ExceptionLogTest(ByVal fileName As String)
    Try
        ' Code that might generate an exception goes here.
        ' For example:
        '    Dim x As Object
        '    MsgBox(x.ToString)
    Catch ex As Exception
        My.Application.Log.WriteException(ex, 
            TraceEventType.Error, 
            "Exception in ExceptionLogTest " & 
            "with argument " & fileName & ".")
    End Try
End Sub

يوضح المثال التالي التعليمات البرمجية الكاملة لتسجيل الاستثناء غير المعالَج. و يمكنك استخدام مصمم المشروع للوصول إلى أحداث التطبيق في محرر التعليمات البرمجية . لمزيد من المعلومات، راجع كيفية القيام بما يلي: معالجة أحداث التطبيق (Visual Basic).

Private Sub MyApplication_UnhandledException(
    ByVal sender As Object,
    ByVal e As ApplicationServices.UnhandledExceptionEventArgs
) Handles Me.UnhandledException
    My.Application.Log.WriteException(e.Exception,
        TraceEventType.Critical,
        "Application shut down at " &
        My.Computer.Clock.GmtTime.ToString)
End Sub

راجع أيضًا:

المهام

كيفية القيام بما يلي: كتابة رسائل السجل

الإرشادات التفصيلية: تحديد أين يكتب My.Application.Log المعلومات

الإرشادات التفصيلية: تغيير مكان كتابة My.Application.Log المعلومات

المرجع

Microsoft.VisualBasic.Logging.Log

WriteEntry

WriteException

المبادئ

العمل مع سجلات التطبيق في Visual Basic