PDA

View Full Version : یافتن شماره خط ایراد - بسیار مهم و مورد احتیاج



منصور بزرگمهر
چهارشنبه 04 تیر 1382, 04:49 صبح
یافتن شماره خط ایراد

چگونه می توان شماره خطی که در ان ایرادی رخ داده است، را پیدا کرد؟
یک شی که متاسفانه فعلاً نام آن را از دست داده ام در VB سبب می شد، که بفهمیم کدام خط VB در حال اجرا می باشد، یا هر ماژول یا هر روال چند خط و ... می باشد، ولی مهمترین چیز در VB برای من شماره خطی می باشد، که در ان ایراد غیر منتظره ای اتفاق افتاده (پس از دستور ON ERORR GOTO ErrA) بتوانیم در لیبل فوق شماره خط خطا را یافته و در صورت غیر منتظره بودن خطا شماره خط روال مذکور را در یک فایل متنی نوشته تا بعداً محل و مکان دقیق خطا مشخص و قابل پیگیری باشد.
بهمین دلیل در مورد مشکل فوق و نظیر ان هر چه می دانید، بنویسید، و ضمناً نام شی ای که شماره خط جاری و تعداد خطوط روال و ... را نمایش می داد نوشته و از طرز کار ان ما را نیز کاملاً مطلع فرمائید.
ضمناً در هنگام خطای در اسکریپتهای وب در پیام خطا شماره خط خطا نیز نمایش یافته، که نشان از شدن این حالت را می دهد.
متشکرم

منصور بزرگمهر
پنج شنبه 05 تیر 1382, 20:23 عصر
از عجایب روزگار می باشد، که خود ما یک سئوال مطرح می نمائیم، و چند روز بعد بطور باور نکردنی جواب خود را می یابیم. البته شاید پاسخ دادن به سئوال خودم شاید تا حدودی مسخره یا با توجه به اینکه خود سئوال را مطرح کرده ام خنده آور باشد، ولی ما را به کسی قسم که خودمان نیز ناگهانی آن را یافتیم، و به دلیل اینکه مورد استفاده دوستانمان نیز قرار بگیرد در سایت اوردیم.
برای دانستن شماره هر خط باید ابتدا خط (لیبل) شماره خط را نوشت، و با توجه به انشعاب روال در صورت غلط بود عمل در آنجا با دستور Erl می توان شماره خط خطا اتفاق افتاده را فهمید، و آنرا در فایلی نوشت. البته من یک نمونه نیز آورده ام که انرا درون یک فرم عادی کپی نمائید. (ضمناً برای دانستن نام ماژول و نام روال نیز از راه حل اینجانب بهرمند شوید)

'-------------------------------------------------------------------------------------------------
Const NameModule = "Form1."
Private Sub Form_Load()
Const NameProcedure = "Form_Load."
On Error GoTo ErrA
Dim A As Byte
10: A = 300
Exit Sub
ErrA:
MsgBox NameModule & NameProcedure & Erl & Chr(13) & Err.Number & " -- " & Err.Description
End Sub
'-------------------------------------------------------------------------------------------------

متشکرم