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

الخروج من البرنامج بوضع أمن - خطأ أثناء التشغيل

بدأه مبرمج ولكن في 18 يوليو 2011 · 7 رد · 866 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أعمل الآن على برنامج باستخدام vb.net

البرنامج يقرأ ويكتب في ملفات, ويغلق التطبيق عند الانتهاء منه ولا يوجد مشاكل في الوضع الآمن

المشكلة هي أنه عند حدوث خطأ غير متوقع أثناء التشغيل: (مثلا: اختلاف نوع المعلومات في عمود معين)

run time error

يؤدي إلى إنهاء البرنامج بدون إغلاق الملفات وهذا يؤدي إلى إبقاء الملفات المفتوحة بواسطة البرنامج في حالة (مفتوح بواسطة برنامج) طوال فترة تشغيل الجهاز

هل يوجد طريقة لأجعل البرنامج يغلق جميع التطبيقات وينهي الاتصال قبل الخروج الغير متوقع

مثل في لغة الجافا:

try and catch

مع الشكر

تم تعديل هذه المشاركة بواسطة مبرمج ولكن في 18 يوليو 2011 في 09:19

#2

السلام عليكم ورحمة الله

لقد قمت بنقل الموضوع الى قسم .Net .

يوجد try and catch في vb.net ويجب عليك استخدامها لتغليف اي كود يحتمل ظهور خطأ منه وكذلك يمكن معالجة الخطأ الغير متوقع على مستوى البرنامج unhandled exception .

#3

tareqvb

شكرا جزيلا

unhandled exception

هذا بالضبط المصطلح الذي احتجت لتذكره لاستخدامه في البحث

#4

السلام عليكم ورحمه الله وبركاته

اخي اضافة لما قاله الاخ طارق استخدم البلوك Finally لوضع كود اغلاق الاتصال لتضمن 100% اذا حدث خطأ ام لا يتم اغلاق الملف!!

.:: Wish to become better and better ::.

#5

وعليكم السلام ورحمة الله وبركاته

vb helper

شكرا ولكن تم تجربة الكود التالي والملف يغلق ولكن مشكلة أن الملف يبقى بحالة (مستخدم بواسطة برنامج آخر) ما زالت موجودة , ولا يمكن تعديل أو حذف الملف أو نقله

        Try
            Using ofd As New OpenFileDialog
                ofd.Filter = "Excel files (*.xls)|*.xls| " & "All files|*.*"
                ofd.Title = "choose"

                If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then
                    MessageBox.Show(" you chose  " & vbNewLine & ofd.FileName)
                End If
                TextBox1.Text = ofd.FileName
                inputexcelname = ofd.FileName
            End Using
        Catch es As Exception
            MessageBox.Show(es.Message)
        Finally
            If Not (sw Is Nothing) Then
                sw.Close()
            End If

        End Try

هل يوجد حل؟

مع الشكر

#6

السلام عليكم ورحمه الله وبركاته

اخي جرب المثال في المرفق لتوضيح الفكرة, يمكنك تعديل او حذف الملف الذي تم الكتابة عليه!!

WindowsApplication1.zip

.:: Wish to become better and better ::.

#7

الافضل استخدام using للتعامل مع الملفات

   Using sw As New IO.StreamWriter("12345.txt")

            End Using

واين الكود الذي تتعامل به مع الملفات ؟

#8

vb Helper

عفواً أخي, صحيح

أدركت أن السبب هو عدم استخدام الجملة لتغليف أجزاء من الكود كما أشار الأخ tareq

TarqVB

وضعت كود القراءة والكتابة بعد إغلاق try وأعتقد أن هذا هو سبب الخطأ

شكراً لكم وجزاكم الله خير

تم تعديل هذه المشاركة بواسطة مبرمج ولكن في 20 يوليو 2011 في 14:37

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…