الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حول Exception

مغلق
بدأه فواز الشمري في 3 مايو 2006 · 6 رد · 536 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

نحن نعلم الإستثنائات في vb.net

والصسغة العامه لها ؟

وهناك العديد من الـ Exceptions وأنواع الـ Classes المتعلقة بكل خطأ أو إستثناء .

سوألي هوا كيف ابنيClass Exceptions أنا بنفسي وعند رمي استثناء أو توليده عن طريق Throw Exception تكون تستدعي الـ Try و Catch

Try
        Dim a As Array
Catch ex As Exception
            Console.WriteLine(ex.Message)
End Try

الحاله الي في الكود السابق هوا ان يتم معالجة الـ Exception بشكل عام وهذا يأخذ وقت لو كان لدي خطأ ما في قاعدة البيانات مثلا سوف استخدم الـ Exception الخاص بقاعدة البيانات حتى اسهل سرعة ضهور رسالة الإستثاء بدل من ان يقوم بالبحث في كل فئات الـ Exception حتى يعثر على الخطأ المحدد.

أنا اريد ان اعمل Exception خاص بي كما هوا الحاصل في الفئات المختلفة في للإستثنائات ولكين مثلا .

Try
        Dim a As Array
Catch ex As MyException
            Console.WriteLine(ex.Message)
End Try

MyException عبارة عن فئة انا اريد ان اقوم بعملها . لذلم سؤالي كيف يمكن او هل يمكن ان اعملException خاص بي . وكيف ذلك وماهي الإتبارات لذلك علما اني سوف اقوم بعمل مجموعة من رسائل الأخطاء اريد معالجتها في فئة .

كما في الفئة SqlException

#2

هذه فكرة عامة لعمل Exceptions

فى Module نكتب الكود التالى

    Public Sub UnhandledExceptionHandler()
        MsgBox("An error occurred. Error Number: " & Err.Number & _
        " Description: " & Err.Description & " Source: " & Err.Source)
    End Sub

ويتم استدعاء بطريقو العادية هكذا فى الفورم مثلا

 Catch ex As Exception
            UnhandledExceptionHandler()
        End Try

لا اعلم هل هذا ما تريدة ام لا فقط احاول المساعدة بالتوفيق ,,,,,

الفريق المصري للبرمجة

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#3

شكرا لك اخي الفاضل لكن للأسف هذا ما لا اقصدة .

أنت عند استخدام الأستثناء الذي سيقوم بمعالجة الخطأ الذي حدث لك الأن قمت بالستخدام Catch ex As Exception أنا اريد ان استخدم فئة خاصة بي .

كما في هذا :

Catch ex As SqlException

حيث ان المفسر سيقوم بالبحث فقط في SqlException عن الأخطأ وما نوعها التي حصلت الأن انا اريد ان ابني Exception خاي بي اسمه ما اريد . وفيه رسائل عديدة سوف اقوم بمعالجتها عن طريق Throw Exception

#4

جرب اكتب

try

throw new exception("Helloooo")

Catch ex As Exception

msgbox("ex.message")

end ty

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#5

السلام عليكم

اذا كنت تنوى انشاء فئة للاستثناءات خاصة بك تستخدمها مع فئاتك الخاصة فاجعلها ترث من الفئة System.ApplicationException

Public Class MyException
Inherits System.ApplicationException
‘ No parameters. Use a default message.
Public Sub New()
MyBase.New(“My Message”)
End Sub
‘ Set the message.
Public Sub New(ByVal new_message As String)
MyBase.New(new_message)
End Sub
‘ Set the message and inner exception.
Public Sub New(ByVal new_message As String, ByVal inner_exception As Exception)
MyBase.New(new_message, inner_exception)
End Sub
End Class

ويمكنك الان استخدامها من خلال فئاتك الخاصة

.....
Throw New MyException(“Message OF Exception.”)
.....

Try
...
Catch ex As MyNameSpace.MyException
Console.Writeline(ex.Message)
End Try

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#6

السلام عليكم جميل جداااااااا

لقد فهمت وجهة نظرك اخى فواز

وشكرا اخى SOLO.NET

الفريق المصري للبرمجة

تحليل وتصميم برامج قواعد بيانات لاتصال بينا masry4u@hotmail.com

#7

أخي وعزيزي SOLO.NET

أشكرك من اعماق قلبي شكرا كثير أولا لفهمك سؤالي . والثاني لوضع الحل . بارك الله فيك .

كذلك اشكر الأخ Romantic_touch على التفاعل وكذلك كفاح .

:rolleyes:

هذا الموضوع مغلق.

مواضيع مشابهة