View Full Version : فرستادن Exception از لایه BusinessLayer به لایه Presentation
vista.12345
چهارشنبه 18 اردیبهشت 1387, 15:17 عصر
با سلام . من در لایه BusinessLayer یک خطا گرفته ام و می خواهم آن را به لایه Presentation پاس بدهم . چگونه ؟؟؟
در لایه BusinessLayer داریم :
Catch xx As SqlClient.SqlException
Throw New Exception
End Try
حال در لایه Presentation چگونه پیغام خطا را به کاربر نشان دهیم ؟ چگونه یک پیغام را از یک لایه به لایه دیگر پاس دهیم
eyes_shut_number1
چهارشنبه 18 اردیبهشت 1387, 17:35 عصر
به راحتی میتونی متن اون خطا روئ د ر قالب یه رشته به عنوان بازگشتی تابع بفرسیت به لایه نمایشت و اونو در قالب تکس با مسیج نشون بدی
رضا عربلو
چهارشنبه 18 اردیبهشت 1387, 17:42 عصر
کد وی بی اش را بلد نیستم (پون اصلاً وی بی بلد نیستم) ولی کد سی شارپش :
throw new System.Exception(---);
Microsoft.net
چهارشنبه 18 اردیبهشت 1387, 21:00 عصر
بين catch و end try فقط بايد بنويسي throw xx
eyes_shut_number1
چهارشنبه 18 اردیبهشت 1387, 21:44 عصر
try
end try
catch
messagebox.show(ex.message)
end catch
Microsoft.net
پنج شنبه 19 اردیبهشت 1387, 18:25 عصر
try
end try
catch
messagebox.show(ex.message)
end catch
خسته نباشين واقعا! فرمودن مي خواهند خطا را به لايه بالايي بفرستند نه اينكه نشان بدند !
Keyvan_Y
پنج شنبه 19 اردیبهشت 1387, 19:09 عصر
در لایه Business یک متغیر از نوع String تعریف کن.
Private Shared strLastErrorText As String = String.Empty
سپس در قسمت Catch خطای اتفاق افتاده را به متغیر بالا نسبت بده و ارزش تابعی که خطا در اون اتفاق افتاده را False کن
Public Shared Function SetData() As Boolean
Try
'Your Code
SetData = True
Catch ex As Exception
strLastErrorText = ex.Message
SetData = False
End Try
End Function
حالا باید یک Function تعریف کنی که Error اتفاق افتاده را به لایه Presentation برگشت بده
Public Shared Function LastErrorText() As String
LastErrorText = strLastErrorText
End Function
حالا می تونی توی لایه Presentation چک کنی که آیا در Function SetData خطایی اتفاق افتاده یا نه....
If BLL.clsData.SetData = False Then
MessageBox.Show(BLL.clsData.LastErrorText) 'Showing the Exception
End If
eyes_shut_number1
جمعه 20 اردیبهشت 1387, 13:51 عصر
خسته نباشين واقعا! فرمودن مي خواهند خطا را به لايه بالايي بفرستند نه اينكه نشان بدند !
شما هم خسته نباشی و پستها رو کامل بخون!
توی پست 2 توضیح دادم جانم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.