امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
دوتا سوال در مورد ERROR
نویسنده پیام
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #1
Question  دوتا سوال در مورد ERROR
[color]1[/color]
اين امكان وجود داره ، به جاي استفاده از on error resume next در تك تك توابع يك بار از اون استفاده كنيم و در تمام برنامه جواب بده
چون فرض كنيد برنامه اي با 500 تابع وجود داره و مي خواييم از on error استفاده كنيم
چون مي خوام اين دستور در بعضي مواقع كار نكنه

2
ميشه اطلاع از تابع در حال اجرا به دست آورد ، در واقع مي خوام بعد از اجراي برنامه ( در زمان اجرا ) بدونم ، خطا در كدوم تابع و با چه شماره اي رخ داده

ممنون ميشم اگر دوستاني كه اطلاع در باره اين موضوع دارن راهنمائي كنند

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۱۹-بهمن-۱۳۸۷, ۱۶:۱۰:۰۸
وب سایت ارسال‌ها
پاسخ
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #2
RE: دوتا سوال در مورد ERROR
دوستان اكتيوكس و يا dll سراغ نداريد براي اين كار ؟!!؟
يا قطعه كد با زبوناي ديگه ؟

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۲۰-بهمن-۱۳۸۷, ۲۳:۱۷:۳۷
وب سایت ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #3
RE: دوتا سوال در مورد ERROR
با Hook کردن پیغامها(خطا) می شه یه کارایی کرد

یعنی پیغام رو می گیری،بعد بر اساس اون کار لازم برای رفع خطا رو انجام می دی

ولی On Error Resume Next ساختار دیگه ای داره یعنی خطا رو قبل از نمایش رد می کنه ولی با روش بالا بعد از نمایش خطا ما

اونو پردازش می کنیم

توی ویبی رو دقیقا نمی دونم ولی پاوربیسیک قابلیت Runtime Debug کلی برنامه رو داره

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۲۱-بهمن-۱۳۸۷, ۱۵:۵۲:۵۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : vz67, shedayat
vz67 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 193
موضوع‌ها: 50
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 106
( 52 تشکر در 37 ارسال )
ارسال: #4
RE: دوتا سوال در مورد ERROR
ممنون
راستي قضيه اين پاور بيسيك چيه !؟
خيلي وقته مي خوام ازش اطلاع كسب كنم

ايتدا تورا ناديده ميگيرند
سپس مسخره ات ميكنند
و در نهايت با تو به مبارزه برمي خيزند
۲۲-بهمن-۱۳۸۷, ۱۷:۲۷:۲۱
وب سایت ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #5
RE: دوتا سوال در مورد ERROR
کلاً استفاده از on error resume next درست نيست اين دستور فقط مشگلات برنامه رو پنهان ميکنه
اما برای اينکه متوجه بشيد برنامه توی کدوم قسمت مشگل داره و خطا ميده بايد از اين تابع استفاده کنيد:

اين رو بايد تو هر تابع که ميخوای از وقوع خطا با خبر بشی بزاری
کد:
On Error GoTo A:
'=============
'code
'=============
Exit Sub
A:

'peygham dar soorat khataye barbname
MsgBox "khata shomare1", vbInformation


توی همه توابع هميشه امکان بروز خطا وجود نداره پس لازم نيست همه جا استفاده کنی فقط توی جاه هايی که فکر ميکنی امکان وقوع خطا هست استفاده کن
۲۲-بهمن-۱۳۸۷, ۱۹:۲۳:۰۴
ارسال‌ها
پاسخ
تشکر شده توسط : ajlajlajl
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #6
RE: دوتا سوال در مورد ERROR
ولی سوال چیزه دیگه ایه

مشکل ایشون اینه که نمی خوان در هر تابعی که لازمه از دستورات مدیریت خطا استفاده کنن بلکه

می خوان یه کاری کنن که مدیریت خطا در کل برنامه و بدون وابستگی به تک تک توابع صورت بگیرد

نقل قول: راستي قضيه اين پاور بيسيك چيه !؟

Whistle

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۲۳-بهمن-۱۳۸۷, ۱۵:۲۰:۳۳
وب سایت ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #7
RE: دوتا سوال در مورد ERROR
اگه C++ حالیت میشه اینو سرچ کن : wh_debug hook
متاسفانه از اون هوک هایی که تو وی بی نمیشه ازش استفاده کرد. یه مدت بدجوری کارم گیرش بود.
البته بیشتر برای کنترل قلاب ها و زنجیر هوک بکار میره. ولی میشه برای کنترل خطاها هم ازش استفاده کرد . . .

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۲۳-بهمن-۱۳۸۷, ۱۶:۲۳:۲۷
ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #8
RE: دوتا سوال در مورد ERROR
هدف کلی مديريت خطاها بود
اگه بخوان هر خطا رو مشخص کنن که برای چی اتفاق افتاده با هر روشی کار کنن بايد برای هر خطا توضيح بنويسن پس اين هم کد نويسی رو زياد ميکنه
جای ايراد گرفتن هم اگر روشی بهتر تو VB بلدين بزاريد ما هم استفاده کنيم
(آخرین ویرایش در این ارسال: ۲۳-بهمن-۱۳۸۷, ۱۹:۴۳:۴۰، توسط CRazYFULL.)
۲۳-بهمن-۱۳۸۷, ۱۹:۴۱:۰۲
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #9
RE: دوتا سوال در مورد ERROR
دوست عزیز

رد کردن خطا به هیچ وجه مدیریت خطا محسوب نمی شه، بلکه تنها کنترل برنامه رو از دست نمی دید و می تونید

ائون رو به هر شکل ممکن به جلو پیش ببرید که فقط در موارد خیلی خاص استفاده از اون منطقی هست نه کل برنامه!!

برای مدیریت خطا باید از دستور

On Error Goto {LineNo}'d

استفاده کنید. به این شکل که در بالای هر سطری که احتمال بروز حطا داره یه متغیر به نام مثلاErNo قرار بدید و

به اون شماره بدید مثلا شماره ای شامل نام تابع و شماره خط.

بعد از بروز خطای احتمالی و انتقال کنترل برنامه به {LineNo} با یه دستور Select Case ErNo شماره خطا رو بررسی

و پیغام مناسب و یا حتی عمل مناسب برای بر طرف کردن خطا رو ارائه بدید.

در پروژه هایی که حجم کار زیاده می تونید یه برنامه ساده برای خوندن فایل های Frm بنویسید که جای توابع رو تشخیص

بده، در ابتدای تابع دستور OnError رو قرار بده، بالای تمام سطرها متغییر ErNo رو به ترتیب شماره دهی کنه و در نهاست دستور Select Case رو به انتهای تابع اضافه کنه یا حتی یه تابع مخصوص ارجاعات خطاها در برنامه تعبیه کنید.

در هر صورت مدئیریت خطا یعنی این نه رد کردنش!!Wink

۲۴-بهمن-۱۳۸۷, ۱۳:۵۹:۴۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : yeketaz, محمد حسینی
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #10
RE: دوتا سوال در مورد ERROR
خوب اين چه فرقی داشت؟
۲۴-بهمن-۱۳۸۷, ۱۸:۱۱:۳۴
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #11
RE: دوتا سوال در مورد ERROR
کد php:
Private Sub Command1_Click()
    
Dim strCode As String
    Dim i       
As String
    i 
1
    
'initialize strcode
    Do While (True)
        i = InStr(i, strCode, " Function ")
        If i = 0 Then Exit Do
        i = InStr(i, strCode, ")")
        strCode = Mid(strCode, 1, i) & vbCrLf & "on error resume next" & vbCrLf & Mid(strCode, i + 1)
    Loop
    i = 1
    Do While (True)
        i = InStr(i, strCode, " Sub ")
        If i = 0 Then Exit Do
        i = InStr(i, strCode, ")")
        strCode = Mid(strCode, 1, i) & vbCrLf & "on error resume next" & vbCrLf & Mid(strCode, i + 1)
    Loop
End Sub 
کسی dll برای wh_debug سراغ داره(وی بی) ؟

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۲۵-بهمن-۱۳۸۷, ۱۲:۴۱:۳۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد ماژول وینساک gachboy 5 4,476 ۲۲-بهمن-۱۳۹۲, ۱۷:۴۳:۵۲
آخرین ارسال: gachboy
  [سوال] خطا Unexpected Error man551 1 3,759 ۲۲-شهریور-۱۳۹۲, ۱۱:۵۱:۴۷
آخرین ارسال: Di Di
  ارور Run-time error 50 aleas 4 4,293 ۱۹-شهریور-۱۳۹۲, ۱۲:۰۸:۳۹
آخرین ارسال: aleas
  سوال در مورد بدست آوردن سورس Hacker_2010 7 6,056 ۰۵-مرداد-۱۳۹۲, ۰۰:۵۴:۵۰
آخرین ارسال: babyy
  [سوال] یک سوال در مورد بانک اطلاعاتی ترانسپورتر 10 7,734 ۳۱-تير-۱۳۹۲, ۲۰:۱۲:۰۹
آخرین ارسال: Ghoghnus
  سوال در مورد کنترل Webbrowser Cr4ShD4Y 2 3,011 ۱۶-تير-۱۳۹۲, ۱۱:۴۱:۰۹
آخرین ارسال: kimiafars
  سوال در مورد کریستال ریپورت؟؟ ahp_online 1 3,018 ۲۵-خرداد-۱۳۹۲, ۱۰:۰۷:۱۷
آخرین ارسال: Ghoghnus
Sad سوال در مورد ارسال پی ام در یاهو مسنجر blackhacking21 6 5,269 ۱۷-فروردین-۱۳۹۲, ۱۰:۵۰:۵۱
آخرین ارسال: lord_viper
  [سوال] یک سوال ساده در مورد هندل thinkdiff 1 2,838 ۱۴-فروردین-۱۳۹۲, ۱۳:۱۶:۲۸
آخرین ارسال: Di Di
  علت ارور run time error در 7 yashar_2006 3 29,960 ۲۸-آذر-۱۳۹۱, ۲۰:۴۰:۵۵
آخرین ارسال: bejlali

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS