PDA

View Full Version : مبتدی: کنترل خطا



javady_joon
شنبه 03 آبان 1393, 00:34 صبح
با سلام بنده این کد رو مینویسم برای یادگیری کنترل خطا ولی بازهم خطای تقسیم بر صفر میده میشه واضح بنده رو راهنمایی کنید؟

Private Sub Command_Click()
Dim i As Integer
i = 0
On Error GoTo test
Print 4 / i
test:
i = 2
Resume
End Sub

ممنون اگر میشه توضیح هم بدین

حتی به resume next هم گیر میده

ایلیا آخوندزاده
شنبه 03 آبان 1393, 14:45 عصر
باسلام و درود
شما ماشین حساب ویندوز رو بازکنید و عددی رو به 0 تقسیم کنید.بازهم خطا داده میشه ، متغیر i باید عددی غیر 0 باشد تا بدون خطا عمل کند.
موفق باشید

samiasoft
شنبه 03 آبان 1393, 15:05 عصر
باسلام و درود
شما ماشین حساب ویندوز رو بازکنید و عددی رو به 0 تقسیم کنید.بازهم خطا داده میشه ، متغیر i باید عددی غیر 0 باشد تا بدون خطا عمل کند.
موفق باشید

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

ASedJavad
شنبه 03 آبان 1393, 15:45 عصر
سلام
برنامه شما خطای تقسیم بر صفر نمیده؛ بلکه در یک حلقۀ بینهایت گیر میکنه.
چون دستور resume برنامه رو به آخرین خط اجرا شده بر میگردونه.
شما کدت رو اینجور اصلاح کن:
Private Sub Command_Click()
Dim i As Integer
i = 0
On Error GoTo test
Print 4 / i
Exit Sub
test:
i = 2
Resume
End Sub

javady_joon
شنبه 03 آبان 1393, 16:36 عصر
ممنون ولی بازهم خطا میده امکان داره vb من مشکل داشته باشه؟

samiasoft
شنبه 03 آبان 1393, 17:15 عصر
برای اجرا اول از پروژه خودت بصورت فایل اجرایی exe درست کن بعد اجراش کن. نباید اروری در این حالت بوجود بیاد

vbhamed
یک شنبه 04 آبان 1393, 14:44 عصر
ممنون ولی بازهم خطا میده امکان داره vb من مشکل داشته باشه؟

سلام
دوست عزیز، باز برای شما مشکل پیش اومد گفتید vb من مشکل داره، vb شما هیچ مشکلی نداره یا برنامتون رو اشتباه می‌نویسید یا نهایتا تنظیمات vb رو دستکاری کردید
از منوی Tools گزینه Option سربرگ General گروه Error Trapping چک کنید ببینید که حتما گزینه دوم یعنی Break in Class Module انتخاب شده باشه نه گزینه اول

ایلیا آخوندزاده
یک شنبه 04 آبان 1393, 16:10 عصر
باسلام خدمت شما استاد گرامی
آقای vbhamed ، تقصیر دوستمون نیست بعضا نرم افزار هایی نصب میشن یا حتی بعضی برنامه ها باعث پاک شدن بعضی از فایل های vb میشن و vb رو دچار مشکل میکنن که با حذف کردن و نصب دوباره حل میشه واسه همین این دوستمون زود به vb شک می کنه هرچند بقول شما که ممکنه اشکال از کدنویسی باشه.
باتشکر از زحمات شما :چشمک: