PDA

View Full Version : رفتن به خط معینی در برنامه فقط در صورت بروز خطا



Veteran
جمعه 06 آبان 1390, 09:28 صبح
سلام دوستان یک چیزی میخوام که کارش این باشه
اگراطلاعات وارد شده در برنامه از سمت کاربر یک طوری بود که برنامه خطا میده
ما با استفاده از یک کدی به یک خط مشخص شده بریم و کد ها بعد از اون خط اجرا بشن
اما اگر اطلاعات وارد شده از سمت کاربر درست باشه و برنامه دیگه ارور نده
کد های اون خطی که در صورت بروز ارور اجرا میشد
اجرا نشه

من با On Error GoTo این کارو کردم موقعه ای که برنامه خطا داشت میرفت به خطی که خودم میخواستم و کد های بعد اون رو اجرا میکرد اما موقعه ای که برنامه خطا نمیداد همه کد ها اجرا میشدن کدهای اون خطی هم که خودمون گفتیم بورو به این خط در صورت خطا اجرا کن
هم اجرا میشدن

ali_habibi1384
جمعه 06 آبان 1390, 12:50 عصر
قبل از قسمت خطا بايد exit بذاري ببين:


on errot goto ex_er
.
.
.
exit sub
ex_er:
كدهاي مربوط به خطا
exit sub

A_1397
جمعه 06 آبان 1390, 12:54 عصر
ali درست ميگه. يه سري هم به اين تاپيك بزن مفصل توضيح داده شده:
http://barnamenevis.org/showthread.php?309173-مشكل-در-دستور-On-Error-Goto

Veteran
جمعه 06 آبان 1390, 13:22 عصر
sub نیست
هست Function
از Exit Function هم استفاده میکنم خب خط های بعدی اجرا نمیشه ؟ :متفکر:
on errot goto ex_er
.
.
.
exit sub

اگه مشکلی پیش بیاد میره به خط مشخص شده اما اگه نیاد کد هارو اجرا میکنه میرسه به exit sub و خارج میشه اما من چندین خط دیگه هم دارم که این دستور باعث میشه خارج بشه و اونا اجرا نشن ؟ درست میگم :متفکر: شاید من دارم اشتباه میکنم :متفکر:
میخوام اگه مشکلی پیش نیومد اون خطی که تعیین کردیم که در صورت بروز خطا بورو به این خط رو نادیده بگیره

ali_habibi1384
جمعه 06 آبان 1390, 20:04 عصر
من بهت ايده دادم خودت هندلش كن ديگه حالا من كه نميدونم تو دقيقا چي ميخواي مي توني از goto استفاده كني يا مثلا از resume استفاده كني كه كرسور رو ميبره خط بعت از خطا:


on error goto ex_er
.
.
.
goto 1
ex_er:
.
.
.
resume next
1:
.
.
.
.

اين يك نمونه ديگه اگه كدت خطا داشت ميره توي ex_er پيغام مناسب رو نشون ميدي يا هر چي بعد كد برنامه مياد خط بعد از خطا رو اجرا ميكنه وقتي به goto 1 برسي مياد بعد از هندل خطا.

kitcat_m18
شنبه 07 آبان 1390, 18:42 عصر
برو مبحث مديريت خطاها در کتاب آموزش گام به گام ويژوال بيسيک تاليف مهندس عين الله جعفر نژاد قمي و مهندس رمضان عباس نژاد رو مطالعه کن

موفق باشي :لبخندساده:

arenaw
شنبه 07 آبان 1390, 22:44 عصر
sub نیست
هست Function
از Exit Function هم استفاده میکنم خب خط های بعدی اجرا نمیشه ؟ :متفکر:
on errot goto ex_er
.
.
.
exit sub

اگه مشکلی پیش بیاد میره به خط مشخص شده اما اگه نیاد کد هارو اجرا میکنه میرسه به exit sub و خارج میشه اما من چندین خط دیگه هم دارم که این دستور باعث میشه خارج بشه و اونا اجرا نشن ؟ درست میگم :متفکر: شاید من دارم اشتباه میکنم :متفکر:
میخوام اگه مشکلی پیش نیومد اون خطی که تعیین کردیم که در صورت بروز خطا بورو به این خط رو نادیده بگیره
نه دیگه، اگه اینجوری استفاده کنی مشکلی پیش نمیاد

private function
on error goto SALAM
.
.
.
exit function

SALAM:
.
.
exit function

KHODAFES:
.
.
.
exit function
end function