ايران ويج

نسخه‌ی کامل: مدیریت و نمایش پیغام مناسب برای خطاهای احتمالی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان عزیز
می خواستم بدونم وقتی برنامه هنگام اجرا یه خطایی میده و از برنامه خارج میشه چگونه میشه متناسب با آن خطا به کاربر پیغام مناسب را نشان داد و از آن عبور کرد . مثلا اگر Data Grid خالی باشه و دکمه حذف اطلاعات را بزنیم برنامه خطای Run-time error '6160' را میدهد . حالا چگونه می شود به برنامه بگوییم اگر با این کد خطا مواجه شدی فلان پیام را بده مثلا به کاربر گفت داده ای برای حذف وجود ندارد و دستور حذف انجام نشود . از این قبیل .
سپاسگزارم دوستان
اولا اينكه قبل از انجام حذف خيلي خيلي بهتره كه خودت چك كني گيريد پره يا خالي!!

براي كنترل خطا مي توني بالاي هر پروسيجر يا تابع با داخل اون اين كد رو بزاري:

کد php:
On Error Goto 100 

اين دستور به معناي اين هست كه هر جاي به خطا برخورد كردي برو به خط شماره 100

حالا در خط شماره 100 مي توني دستوراتي جهت مديريت خطا قرار بدي مثلا مي توني متناسب با كد خطا به كاربر پيغام

بدي اين طوري:

کد php:
100
If Err.No 6160 then MsgBox "The Grid is empty! Delete action Failed" 
همونطور كه در كدها ديده مي شه مي تونيد از عنصر ERR و پروپرتي هاي اون استفاده كنيد.

نكته : مي تونيد از دستور On Error Resume Next هم استفاده كنيد،‌اين دستور باعث مي شه در صورت بروز خطا برنامه هيچ

پيغامي نده و به خط بعدي رفته و كارش رو ادامه بده.
سلام
ولی چرا بعضی وقتا دستور On Error کار نمیکنه ؟ مثل
کد php:
Private Sub Text1_Change()
On Error Resume Next
Text1
.Name Text1.Text
Form1
.Caption Text1.Text
End Sub 
دوست عزیز

مدیریت خطا برای کنترل خطاهای حین اجرای برنامه یا RunTime Error هست اما دستور شما برای تغییر یک مقدار فقط خواندنی

مربوط به اجرا نبوده و از بیخ و بن اشکال داره!!

مقدار Text1.Name یک مقدار فقط خواندنی است و هرگز قابل تغییر نیست