reza6384
دوشنبه 23 اردیبهشت 1387, 13:10 عصر
سلام.
من می خواستم راجع به یه موضوع بحث کنیم و نظر بدید.
برنامه هایی که تعداد فرم هاش زیاده و خوب بالطبع تعداد زیادی هم Function و Procedure داره ، بعضی وقت ها خوب بالاخره Error پیش میاد و در برخی از این موارد یه کم سخته که بیایم ببینیم دقیقا کجای برنامه بوده که Error داشته، فرض کنیم یک دکمه موقع زده شدن میاد یه Function رو Call میکنه و اگه به Error خورد، اگر کد دکمه Try و Catch داشته باشه که اونجا نشون میده، اگر نداشته باشه و Function فراخونده شده Try و Catch داشته باشه، تابع نشون میده که Error چیه و از این قبیل مسائی که باعث می شه سخت پیدا کنیم کجای کار ایراد داره، مخصوصا وقتی نرم افزار شما دست User هست و اون هم هیچ چی غیر از اینکه " این برنامه Error میده! " به شما نمی گه.
من به نظرم رسید که برای هر کدوم از فرم ها و کلاس ها یک کد دو رقمی هگزا دسیمال در نظر بگیریم و برای هر کدوم از Sub ها و Function ها هم همینطور و توی همه اینها Try و Catch بذاریم. مثلا اگر کد هگز فرم Main باشه E2 و کد تابع Test در فرم Main باشه 9D، اونوقت کدش مثلا اینجوری می شه :
Function Test() as Object
' Function Code : 9D , Form Code E2
Try
.........
.........
.........
.........
Catch Ex As Exception
Msgbox(Ex.Message,MsgBoxStyle.Critical,"Error : 0xE29D")
End Try
اونوقت با این کد E29D می تونیم به راحتی محل وقوع خطا رو تشخیص بدیم.
حالا اگر کس دیگه نظر بهتری داره یا اینکه قیلا این کار رو کرده نظر بده، ممنون می شم.
در پایان هم می گم طبق یک اصل " نرم افزار بدون Bug وجود نداره "
من می خواستم راجع به یه موضوع بحث کنیم و نظر بدید.
برنامه هایی که تعداد فرم هاش زیاده و خوب بالطبع تعداد زیادی هم Function و Procedure داره ، بعضی وقت ها خوب بالاخره Error پیش میاد و در برخی از این موارد یه کم سخته که بیایم ببینیم دقیقا کجای برنامه بوده که Error داشته، فرض کنیم یک دکمه موقع زده شدن میاد یه Function رو Call میکنه و اگه به Error خورد، اگر کد دکمه Try و Catch داشته باشه که اونجا نشون میده، اگر نداشته باشه و Function فراخونده شده Try و Catch داشته باشه، تابع نشون میده که Error چیه و از این قبیل مسائی که باعث می شه سخت پیدا کنیم کجای کار ایراد داره، مخصوصا وقتی نرم افزار شما دست User هست و اون هم هیچ چی غیر از اینکه " این برنامه Error میده! " به شما نمی گه.
من به نظرم رسید که برای هر کدوم از فرم ها و کلاس ها یک کد دو رقمی هگزا دسیمال در نظر بگیریم و برای هر کدوم از Sub ها و Function ها هم همینطور و توی همه اینها Try و Catch بذاریم. مثلا اگر کد هگز فرم Main باشه E2 و کد تابع Test در فرم Main باشه 9D، اونوقت کدش مثلا اینجوری می شه :
Function Test() as Object
' Function Code : 9D , Form Code E2
Try
.........
.........
.........
.........
Catch Ex As Exception
Msgbox(Ex.Message,MsgBoxStyle.Critical,"Error : 0xE29D")
End Try
اونوقت با این کد E29D می تونیم به راحتی محل وقوع خطا رو تشخیص بدیم.
حالا اگر کس دیگه نظر بهتری داره یا اینکه قیلا این کار رو کرده نظر بده، ممنون می شم.
در پایان هم می گم طبق یک اصل " نرم افزار بدون Bug وجود نداره "