PDA

View Full Version : یک مشکل با try catch



peymannaji
شنبه 22 تیر 1387, 18:26 عصر
با سلام

کد زیر رو در نظر بگیرید :



Try
email_send()

Catch ex As Exception

Response.Redirect("Not_Succ.aspx")

End Try

Response.Redirect("Reg_Succ.aspx")
این کد درست کار میکنه یعنی اگر مشکلی نباشه تابع email_send کار میکنه و آخرین کد اجرا میشه اما وقتی به شکل زیر مینویسم تابع emai_send کامل کار میکنه اما به خط بعد که میره برنامه با خطا روبرو میشه و در نهایت به قسمت catch میره مشکل به نظر شما چی میتونه باشه ؟




Try
email_send()
Response.Redirect("Reg_Succ.aspx")

Catch ex As Exception

Response.Redirect("Not_Succ.aspx")

End Try



با تشکر

salehbagheri
شنبه 22 تیر 1387, 21:14 عصر
من كه مشكلي تو كدها نمي بينم! احتمالا مشكل از جاي ديگه هست.

peymannaji
شنبه 22 تیر 1387, 21:49 عصر
بله مشکلی وجود نداره اما اینکه این اتفاق چرا میوفته بنده هم هنوز نمیدونم . از اساتید میخوام نظرات خودشون و احتمالاتی که وجود داره رو بدن ....

با تشکر

Behrouz_Rad
شنبه 22 تیر 1387, 21:49 عصر
متد Redirect در هنگام فراخوانی، یک استثنای داخلی پرتاب می کنه که از چشم برنامه نویس دور هست. اون استثنا باعث میشه که اگر از متد Redirect در ساختار Try-Catch استفاده کرده باشید، قسمت Catch همیشه اجرا بشه!
البته اگر پارامتر دومش رو دستکاری کنید خطا رخ نمیده.
اما در کل، شیوه ی کدنویسی خودتون رو تغییر بدید.

موفق باشید.

peymannaji
شنبه 22 تیر 1387, 21:54 عصر
بهروز عزیز از لطفتون یک دنیا سپاسگزارم .

موفق و سربلند باشید .