PDA

View Full Version : سوال: مدیریت خطاها



masoodp666
یک شنبه 02 تیر 1387, 10:47 صبح
درود.
چطوری میشه شماره خطای خاصی رو که سیستم داده رو بدست آورد که بشه پیغام خطای خاص اون خطا رو به کاربر داد ؟

متدهای آبجکت ex در Try .. Catch چیز بدرد بخوری نداره.

ممنون

NewFoxStudent
یک شنبه 02 تیر 1387, 11:46 صبح
Dim a As ErrObject

masoodp666
یک شنبه 02 تیر 1387, 12:38 عصر
از اون هم استفاده کردم ولی مثلا شماره خطای null بودن کلید اصلی و تکراری بودن کلید رو یکی میده. آبجکت دیگه ای نیست که بیشتر تفکیک کنه ؟

NewFoxStudent
یک شنبه 02 تیر 1387, 14:04 عصر
شماره این دو خطا که فرمودید در واقع یکی هست
در این مورد باید از توضیحات خطا برای تشخیص دقیق اون استفاده کنید

__H2__
یک شنبه 02 تیر 1387, 21:46 عصر
سلام
در دات نت اصولاً همه خطاها شماره خطا ندارند، تفکرات VB6 خود را در این مورد دور بریزید.
در دات نت همه خطا ها وراثتی هستند از کلاسس System.Exception و خود شما هم میتوانید کلاسسهای جدید خطا تولید کنید، در حالی که سیستم کد خطای VB6 (ده سال پیش) بسیار محدود بود و فقط به یک عدد بی معنی معطوف میشد.

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


در اینجا شاید بتوان گفت معادل شماره خطا، نام کلاسس خطا باشد.

masoodp666
دوشنبه 03 تیر 1387, 20:25 عصر
از صحبتهای دوستان فهميده میشه که راهی وجود نداره. درسته ؟


در اینجا شاید بتوان گفت معادل شماره خطا، نام کلاسس خطا باشد.


یعنی شما میگید که از نام کلاس استفاده بشه ؟ اگه عملی در این زمینه کار کردید توضیح بیشتر بفرمایید.
ممنون

salehbagheri
سه شنبه 04 تیر 1387, 11:53 صبح
شما مي تونيد از متد Try به روش زير عمل كنيد:


Try
Dim

salehbagheri
سه شنبه 04 تیر 1387, 11:54 صبح
ببخشيد! اشتباها دستم رو Enter خورد و پست ناقص فرستاده شد.
ادامه


Try
Your

salehbagheri
سه شنبه 04 تیر 1387, 11:57 صبح
فكر كنم اصلا اين فروم مشكل داره! دارم مي نويسم خودش اتوماتيك متن رو مي فرسته!
خوب دوباره ادامه مي دهم:


Try
Your Code
Catch ex1 as ErrorExpection1
Your Code
Catch ex2 as ErrorExpection2
Your Code
.
.
.
End Try

Hossein Bazyan
سه شنبه 04 تیر 1387, 13:04 عصر
سلام
مانند vb6.00 میتوانی عمل نمایی


err.description
err.number

masoodp666
سه شنبه 04 تیر 1387, 15:14 عصر
سلام
مانند vb6.00 میتوانی عمل نمایی


err.description
err.number


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



Catch ex As .....


AccessViolationException
DuplicateNameException
InvalidConstraintException
KeyNotFoundException
NoNullAllowedException