PDA

View Full Version : کنترل خطاها در VB.NET در کل یک برنامه مدیریت message ها



majid_afra222
جمعه 26 فروردین 1384, 10:29 صبح
سلام دوستان
من میخوام مدیریت خطاها رو در برنامه مثل دلفی داشته باشم
(در تاپیک
ERROR های پیش بینی نشده در برنامه...
در آدرس
http://www.barnamenevis.org/forum/viewtopic.php?t=23796
توضیح دادم)
حالا می خوام همون حالت رو تو VB.NET داشته باشم
یعنی error های وارد شده به برنامه رو بطور کامل مدیریت کنم

علیرضا مداح
جمعه 26 فروردین 1384, 16:31 عصر
در VB.Net جهت پیاده سازی مدیریت ساختاریافته استثناء (Structured Exception Handling) میتونید از دستور Try...Catch...Finally برای قسمتهایی از کد که فکر میکنید احتمال بروز خطا در آن وجود دارد استفاده کنید .


Try
...
Catch [optional filters]
...
Finally
...

برای دریافت اطلاعات کامل در این زمینه به MSDN مراجه کنید .

علیرضا مداح
جمعه 26 فروردین 1384, 16:36 عصر
پیشنهاد میکنم مقاله زیر رو مطالعه کنید :

How To Catch Exceptions in Visual Basic .NET (http://support.microsoft.com/default.aspx?scid=kb;en-us;301283)

علیرضا مداح
جمعه 26 فروردین 1384, 16:43 عصر
پروزه ی زیر هم مثال کاملی از مجموعه <span dir=ltr>101 VB.NET Samples</span> میباشد .

majid_afra222
جمعه 26 فروردین 1384, 17:35 عصر
سلام
جناب مداح عزیر‌
اول ممنون از جوابتون
دوم : مثل اینکه نگرفتید چی شده (ما همه اینها رو دیدیم - کل اون 101 مثال رو هم خوندیم)
آدرس رو دیدید یا نه؟

من میخوام کل پیامهای خطای رد و بدل شده تو برنامه رو تو یه تابع (مثل همون لینک ذکر شده) یکجا مدیریت کنم
بدون اینکه بلوک کنترل خطایی تو خود توابع یا جاهای دیگه برنامه باشه
ممنون از جوابهاتون

linux
دوشنبه 29 فروردین 1384, 19:03 عصر
من میخوام کل پیامهای خطای رد و بدل شده تو برنامه رو تو یه تابع (مثل همون لینک ذکر شده) یکجا مدیریت کنم
بدون اینکه بلوک کنترل خطایی تو خود توابع یا جاهای دیگه برنامه باشه
فکر می کنید شدنی؟!
یکجایی بالاخره باید خطا را به دام بندازید!

majid_afra222
دوشنبه 29 فروردین 1384, 19:44 عصر
سلام لینوکس عزیز

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

خطا raise میشه (هر جایی) ولی برای هندل شدن بجای اینکه تیکه تیکه هندل کنیم خود اون تابع همه خطاها رو هندل میکنه - مثل اون لینک ذکر شده در بالا (که من برای هندل خطاها در دلفی نوشتم - یه تابع که همه خطاها رو تو تمام برنامه مدیریت میکنه)
((راستی لینک رو دیدی))

ممنون - اگه زودتر جواب بدی ممنون میشم

linux
دوشنبه 29 فروردین 1384, 22:54 عصر
شما چطوری می خواهی تشخیص بدی که خطا raise شده؟
در vb.net با on error یا try cath می تونی اینکار را انجام بدی
غیر از این هست؟

titbasoft
سه شنبه 30 فروردین 1384, 12:48 عصر
من دقیقا فرصت نکردم همه مطالب رو بخونم ولی اگر منظورتون رو درست متوجه شده باشم ، در مورد tracing در dot net جستجو کنید.

majid_afra222
سه شنبه 30 فروردین 1384, 13:41 عصر
سلام
منظور من یه چیزی شبیه به رویداد Application.OnError تو دلفیه که زمان ایجاد فرم اونرو به تابع دیگه ای ست میکنیم و اون تابع از این به بعد تمام خطاهای برنامه رو بررسی می کنه.
میخوام ببینم یه همچین چیزی تو .NET هم هست که بگی تابعی در زمان رخ دادن این رویداد اون رو مدیریت کنه؟

جناب titbasoft عزیز
tracing رو هم بررسی میکنیم

ممنون